此时让我有点疯狂。试图访问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)")
}
}
}
}
答案 0 :(得分:1)
如果您需要查看每个孩子及其值,最好使用.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”假设你有某种对象代表数据库中的那个节点。
firebase文档中的更多信息,检索数据,子事件
FIRDataEventTypeChildAdded事件通常用于检索Firebase数据库中的项目列表。 FIRDataEventTypeChildAdded事件为每个现有子项触发一次,然后每次将新子项添加到指定路径时再次触发。侦听器将传递一个包含新子项数据的快照。