无法在Firebase中找到我的“儿童孩子”。访问“嵌套值”。
无法在Firebase中找到我的“儿童孩子”。访问“嵌套值”。
在这一点上让我有点疯狂。试图访问imageName
,但始终空白。最受赞赏的帮助。
ref.observe(FIRDataEventType.value) {
(snapshot: FIRDataSnapshot!) in
if let result = snapshot.children.allObjects as? [FIRDataSnapshot] {
for child in result {
for child2 in child.children {
// NO ERROR, and NO VALUE RETURNED
let imageName = (child2 as? NSDictionary)?["imageName"] as? String ?? ""
// NO VALUE RETURNED - LOOKING TO GRAB imageName HERE
print("imageName: \(imageName)")
}
}
}
}
如果您需要查看每个单独的孩子,并且其值更好地使用.childAdded来代替。
let ref = FirDatabase.database().reference().child("12345")
ref.observe(.childAdded, with: { (snapshot) in
guard let snap = snapshot.value as? NSDictionary else {
return
}
let t = test()
t.profileImageUrl = snap["imageName"] as? String
t.name = snap["name"] as? String
t.userID = snapshot.key
print(snap["imageName"])
我用“t”假设你有某种对象代表数据库中的那个节点。
在火力文档更多信息,在检索数据,该FIRDataEventTypeChildAdded事件通常用于在火力地堡数据库中检索项的列表子事件
。 FIRDataEventTypeChildAdded事件对每个现有子对象触发一次,然后每次将新子对象添加到指定路径时再次触发。监听器传递一个包含新孩子数据的快照。
https://www.firebase.com/docs/web/api/datasnapshot/和这个FB页面是潜入的地方。 http://stackoverflow.com/questions/28132620/can-i-manipulate-fdatasnapshot-once-i-have-queried-for-it –
@EdwardPotter抱歉,我不明白你想说什么..你尝试了什么我告诉过你?顺便说一句,firebase页面是从旧文件 – Rialcom
嗨,我转向正在实施swiftyJSON。将回报。喜欢把它归结为一行或2。将检查出新的文档。我今天也会尝试一下你的实现。谢谢。 此处引用: http://www.waltza.com/2015/12/10/firebase-and-swift-type-safety-with-swiftyjson/ –
嗨,坦率地说,感谢您的编辑。这是一个出现LOTS的问题。答案是如何做到这一点的混杂。旧的FB代码,新的FB代码等。 如果FB团队在“最佳实践”中做了一个寻呼机,那将会非常棒,它可以帮助很多人从Parse转移。 –
http://stackoverflow.com/questions/28132620/can-i-manipulate-fdatasnapshot-once-i-have-queried-for-it看起来像一个有趣的分析模型。 –