【问题标题】:Retriving data from database从数据库中检索数据
【发布时间】:2019-11-19 21:49:27
【问题描述】:

第一次在这里提问,如果我做错了,请见谅。

无论如何。我正在使用 Firebase 数据库在我的测验应用程序中存储“结果”。当数据被存储时,它看起来像这样

结果

 -LjQ34gs7QoL1GMufiMsaddclose
 Score: xx
 UserName: xx

 -LjQ3NeCoDGob8wnhstH
 Score: xx
 UserName: xx

我想从中获取分数和用户名并将其显示在 HighScore 表格视图中。问题是 - 我可以获得“结果”节点,但由于结果的 id(即 LjQ34gs7QoL1GMufiMsaddclose),我不知道如何访问分数和用户名。

我得到了数据快照​,但不知道如何“绕过” id 来获取分数和用户名。

希望我至少能说清楚一点,问题是什么。

let ref = Database.database().reference().child("Results")

ref.observe(.value) { (DataSnapshot) in
    print(DataSnapshot.value as Any)
}

【问题讨论】:

    标签: swift firebase-realtime-database


    【解决方案1】:

    您当前的代码为您提供一个包含所有用户结果的快照。您需要遍历子快照以获取每个用户的结果,然后使用 childSnapshot(byName:) 查找他们的特定属性:

    let ref = Database.database().reference().child("Results")
    
    ref.observe(.value) { (snapshot) in
        for case let userSnapshot as DataSnapshot in snapshot.children {
            print(userSnapshot.childSnapshot(forPath: "Score").value)
        }
    
    }
    

    另见:

    可能还有更多来自this list

    【讨论】:

      猜你喜欢
      • 2021-02-11
      • 2013-01-01
      • 2017-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多