[英]Loading a dictionary of lists of lists in Unity with Firebase
所以我像这样保存我的字典:
public void saveData()
{
database.Child("Users").Child("User").SetValueAsync(shoppingList);
}
但是,如果我想加载我的字典,当我想访问任何内容时,它总是返回 null。 我像这样加载它:
public void loadData()
{
FirebaseDatabase.DefaultInstance.GetReference("Users").GetValueAsync().ContinueWith(task => {
if (task.IsFaulted)
{
// Handle the error...
}
else if (task.IsCompleted)
{
var result = task.Result;
var loadedDict = result.Value as Dictionary<string, List<List<string>>>;
Debug.Log(loadedDict);
}
});
}
我认为可能发生的情况是var loadedDict = result.Value as Dictionary<string, List<List<string>>>;
没有立即进行转换。
我会检查以下内容。
1.-数据在保存阶段正确保存,并存储在数据库中并在问题中确认。
2.-即使字典是null,检查任务返回的数据是否是null。 因为可能正在var result = task.Result;
中检索数据 ,但转换为字典不起作用。 如果是这种情况,我也会在问题中确认这一点。
3.- 如果数据实际上是在第 2 阶段检索的,而转换不起作用。 据文档所述,返回本机类型的值是:
bool
, string
, long
, double
, IDictionary{string, object}
和List{object}
如果您正在接收数据,但加载的字典是loadedDict
,您需要编写将IDictionary{string, object}
转换为Dictionary<string, List<List<string>>>
的方法,并填写您的信息。
我没有统一使用 firebase,仅在 web 项目中使用,所以我不确定这是否可能是您的问题,这只是我的猜测。 我很高兴检查您的发现
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.