【发布时间】:2017-01-30 06:37:17
【问题描述】:
我之前发布了一个关于如何访问子快照中的数据的问题,我得到了一个非常有效的答案。然而,这个解决方案只允许我按值检索数据——而不是我的孩子。你看,我有一个这样的 JSON 树结构:
Players {
PlayerID {
Username
Rank
Achievements {
Rookie: yes
}
}
然后我意识到我真的需要在“成就”下有多个“childByAutoId”——看起来像这样:
Player {
PlayerID {
Username
Rank
Achievements {
autoID1 {
isAchieved: yes
}
autoID2 {
isAchieved: yes
}
}
}
那么我将如何继续尝试获取每个 childByAutoId 的 ChildValues 呢?我知道这适用于观察快照上的“ChildAdded”,但是 - 这似乎不是这里的功能。
这是我现在拥有的代码:
if let childSnapshot = snapshot.childSnapshot(forPath: "Achievements") as? FIRDataSnapshot{
if let achievementDictionary = childSnapshot.value as? [String:AnyObject] , achievementDictionary.count > 0{
if let achieveMedal = achievementDictionary["Rookie"] as? String {
print(achieveMedal)
}
}
}
我们将不胜感激!
【问题讨论】:
标签: swift firebase firebase-realtime-database