Swift 快速检查firebase值是否为真
您好,我正在从firebase检索一些信息。我要查找的数据有三个子层,由布尔值组成。当我打印数值时,我可以得到结果,但我无法看到结果是真是假Swift 快速检查firebase值是否为真,swift,firebase,Swift,Firebase,您好,我正在从firebase检索一些信息。我要查找的数据有三个子层,由布尔值组成。当我打印数值时,我可以得到结果,但我无法看到结果是真是假 func userInfo() { let dbRef = FIRDatabase.database().reference() let stRef = FIRStorage.storage().reference() dbRef.child("users/\(userBiD!)").observeEventType(.Valu
func userInfo() {
let dbRef = FIRDatabase.database().reference()
let stRef = FIRStorage.storage().reference()
dbRef.child("users/\(userBiD!)").observeEventType(.Value, withBlock: { snapshot in
let name = snapshot.value!["firstname"] as! String
let profileImage = snapshot.value!["profilePic"] as! String
let receivePostRequest = snapshot.value?["receivePostRequest"]
self.nameLabel.text = name
self.dbUserProfilePic(self.profilePhotoImageView, imageLink: profileImage)
let receivePost = snapshot.childSnapshotForPath("receivePostRequest")
let tags = receivePost.childSnapshotForPath("tags")
for child in tags.children {
/*
...
tags{
tag1 = true
tag2 = false
}
//I need to print all keys that have a true value
*/
}
})
}
firebase json
因为,根据,
.children
是
此快照中子节点快照的迭代器。您可以在语法中为..使用本机
。然后您必须使用.value
访问他们的数据,并使用.key
访问他们的密钥
因此,你可以这样做
func userInfo() {
let dbRef = FIRDatabase.database().reference()
let stRef = FIRStorage.storage().reference()
dbRef.child("users/\(userBiD!)").observeEventType(.Value, withBlock: { snapshot in
let name = snapshot.value!["firstname"] as! String
let profileImage = snapshot.value!["profilePic"] as! String
let receivePostRequest = snapshot.value?["receivePostRequest"]
self.nameLabel.text = name
self.dbUserProfilePic(self.profilePhotoImageView, imageLink: profileImage)
let receivePost = snapshot.childSnapshotForPath("receivePostRequest")
let tags = receivePost.childSnapshotForPath("tags")
for child in tags.children {
// NEW
if child.value == true {
print(child.key)
}
// NEW
}
})
}
或者,如果要在数组中保存所有真值
func userInfo() {
let dbRef = FIRDatabase.database().reference()
let stRef = FIRStorage.storage().reference()
dbRef.child("users/\(userBiD!)").observeEventType(.Value, withBlock: { snapshot in
let name = snapshot.value!["firstname"] as! String
let profileImage = snapshot.value!["profilePic"] as! String
let receivePostRequest = snapshot.value?["receivePostRequest"]
self.nameLabel.text = name
self.dbUserProfilePic(self.profilePhotoImageView, imageLink: profileImage)
let receivePost = snapshot.childSnapshotForPath("receivePostRequest")
let tags = receivePost.childSnapshotForPath("tags")
for child in tags.children {
// NEW
var trueValues: [Bool] = []
if child.value == true {
trueValues.append(child.key)
}
// NEW
}
})
}
tags.children
的结构是什么?@AMomchilov请看一下我添加的json的编辑。我通常在key values=true的位置进行查询,但因为闭包firebase中的im不允许我进行查询。