繁体   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