因为这个原因,我一直在拔头发。转到包含相关事件和多个教程的所有页面,我发现我的代码在这里没有任何问题,但不知何故,如果我打印出值(有效)或将它们分配为它们,它只会失败! 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)
}
}
}
再次让我感到含糊不清。
答案 0 :(得分:13)
只是一些编码错误
删除:(快照) - >空隙
更改:快照中的子项,因为快照不是序列,而snapshot.children是
我假设你想将朋友的名字存储为字符串而 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)")
}
})
答案 1 :(得分:0)
ref.observeSingleEvent(of: .value, with: { (snapshot) -> Void in
})
为我工作,Xcode 8.3.2