Swift 对 observeEventType 的模糊使用
Firebase with Swift ambiguous use of observeEventType
因此,我一直在拔头发。转到所有包含相关事件和多个教程的页面,我发现我的代码在这里没有任何问题,但是如果我打印出值(有效)或将它们分配为,它不会以某种方式失败! 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,因为快照不是序列,而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)")
}
})
ref.observeSingleEvent(of: .value, with: { (snapshot) -> Void in
})
为我工作,Xcode 8.3.2
因此,我一直在拔头发。转到所有包含相关事件和多个教程的页面,我发现我的代码在这里没有任何问题,但是如果我打印出值(有效)或将它们分配为,它不会以某种方式失败! 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,因为快照不是序列,而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)")
}
})
ref.observeSingleEvent(of: .value, with: { (snapshot) -> Void in
})
为我工作,Xcode 8.3.2