簡體   English   中英

使用 Firebase 在 Unity 中加載列表列表的字典

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM