我有一个FialBaseTable,我需要找出一个属性是否存在于特定用户的表中。表的结构如下:
Users
-Lf9xUh53VeL4OLlwqQo
username: "[email protected]"
price: "$100"
special: "No"
-L12345ff322223345fd
username: "[email protected]"
special: "No"
我需要知道“价格”是否是为特定用户添加的。好像想不出那个!
在斯威夫特,我需要这样的东西:
self.ref?.child("Users").queryOrdered(byChild: "username").queryEqual(toValue: username.text!).observe(.value, with: { (snapShot) in
if (snapShot.value! is NSNull) {
print("nothing found")
} else {
print("found it!")
print(snapShot)
let snapShotValue = snapShot.value as! [String:[String:Any]]
Array(snapShotValue.values).forEach { // error here if it doesn't exist
let price = $0["price"] as! String
self.userPrice.text = price
}}
})
但是如果价格不存在,我会出错。谢谢你的帮助。
最佳答案
使用as?
而不是as!
if let price = $0["price"] as? String {
print(price)
}
else {
print("No price")
}
或者很快
self.userPrice.text = ($0["price"] as? String) ?? "No price"
关于swift - 如何找出用户表中是否有属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56486253/