Firebase 检索数据 - Swift

Posted

技术标签:

【中文标题】Firebase 检索数据 - Swift【英文标题】:Firebase Retrieving Data - Swift 【发布时间】:2021-03-17 23:41:54 【问题描述】:

我正在尝试从 firebase 获取数据,但由于某种原因它无法正常工作。我尝试了很多东西,但它们似乎仍然不起作用。我正在尝试检索“DailyRemedies”部分中的所有项目

代码:

ref.child("Users/\(userUID!)").child("DailyRemedies").observe(.childChanged)  (snapshot) in
    
    if let userDict  = snapshot.value as? [String: Any] 
        print(userDict["DailyRemedies"]!)
    
    

json:


 "EFy3Ba9sHDZYLazhzXmgqZ5RWJL2" : 
        "DailyRemedies" : [ "not done", "done", "done", "done", "done", "done", "done" ],
        "Email" : "abc@aol.com",
        "Password" : "kalani"
 

【问题讨论】:

什么不起作用?那个 json 是什么 - 是你希望得到的,还是你正在得到的? 我希望 userDict 包含来自 JSON 的“DailyRemedies”的值列表,但它不起作用。我基本上想获取那些“完成”值的列表 |更新:我刚刚从我的数据库中包含了完整的 json,其中也包含了 userUID 你仍然没有说“没有/没有工作”是什么意思。你的意思是这个值是空的?不明确的?一组与您预期不同的值?发生了车祸?回调函数根本没有被调用吗? 断点是在打印语句中设置的,但它没有命中,所以我假设 userDict 对快照值的声明存在问题。 userDict 出来是空的,所以我无法从“DailyRemedies”部分检索数据。因此,它不起作用 【参考方案1】:
    ref.child("Users").child(userUID).child("DailyRemedies").observeSingleEvent(of: DataEventType.value, with:  snapshot in
        if snapshot.exists() 
            print(snapshot)
         else 
            //
        
    )

【讨论】:

以上是关于Firebase 检索数据 - Swift的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Firebase 检索用户数据 android

Firebase 在函数返回后检索数据

从firebase检索数据失败

Swift 检索 Firebase 数据

Swift 从 Firebase 检索数据

无法从短动态链接中检索数据 - Firebase