在Swift的Firebase数据库中,有没有办法从字典中访问值(作为字符串)。每个孩子都有一个关键:价值对。例如:
users
|-- Bob
|-- Bob@gmail.com: "BOBBBBY"
有没有办法以字符串形式访问"BOBBBBY"
?
我是Swift的新手,所以感谢任何帮助。
答案 0 :(得分:3)
直接来自https://firebase.google.com/docs/database/ios/read-and-write
let userID = Auth.auth().currentUser?.uid
ref.child("users").child(userID!).observeSingleEvent(of: .value, with: { (snapshot) in
// Get user value
let value = snapshot.value as? NSDictionary
let username = value?["username"] as? String ?? "" // <<< this line
let user = User.init(username: username)
// ...
}) { (error) in
print(error.localizedDescription)
}
如果您需要用户下的多个字段:
ref.child("users").child("Bob").observeSingleEvent(of: .value, with: { (snapshot) in
let value = snapshot.value as? NSDictionary
let emailValue = value?["Bob@gmail.com"] as? String ?? ""
// do more...
}
...或者如果您只需要一个值:
ref.child("users").child("Bob").child("Bob@gmail.com").observeSingleEvent(of: .value, with: { (snapshot) in
if let value = snapshot.value as? String {
// use the value...
}
}