[英]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.