因此,我一直在拔头发。转到所有包含相关事件和多个教程的页面,我发现我的代码在这里没有任何问题,但是如果我打印出值(有效)或将它们分配为,它不会以某种方式失败! NSArray 然后给我一个空数组。
snapshot.value 的打印显示
( friend1,
friend2,
friend3
)
我试过 snapshot.value.values ... 不行。 我试过打开包装......没有骰子。 这是我最后的尝试:
friendsList = [String]()
ref.observeSingleEventOfType(.Value) { (snapshot) -> Void in
if snapshot.value is NSNull {
} else {
for child in snapshot {
self.friendsList.append(child.value)
}
}
}
这又给了我模棱两可的东西。
最佳答案
只是一些编码错误
删除:(快照)->无效
更改:快照中的 child 因为快照不是序列,而快照.children 是
我假设您想将 friend 姓名存储为字符串,并且 name 是您结构中的键。所以将 self.friendsList.append(child.value) 更改为
let name = child.value["name"] as? String
friendsList.append(name!)
修改后的代码:
var friendsList = [String]()
ref.observeSingleEventOfType(.Value, withBlock: { snapshot in
if snapshot.value is NSNull {
} else {
for child in snapshot.children {
let name = child.value["name"] as? String
friendsList.append(name!)
}
print("\(friendsList)")
}
})
关于ios - 带有 Swift 的 Firebase 对 observeEventType 的模糊使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36245272/