我在制作一个 Firebase 练习应用程序时遇到了这个问题。我在从 Firebase 数据库捕获值时遇到 NSNull 异常的地方。这是代码
user = FIRAuth.auth()?.currentUser
ref = FIRDatabase.database().reference()
let userid = user.uid
if userid != nil
{
print("User Nid \(userid)")
ref.child("users").child(userid).observe(.value, with: {
(snapshot) in
if(snapshot.exists()){
var user_details = snapshot.childSnapshot(forPath: "\(userid)")
var user_det = user_details.value as! Dictionary<String, String>
print("User Name \(user_det["name"])")
}
else{
print("Does not exist")
}
})
}
这是数据库。
uid
user-details
name: "Salman"
propic: "picurl"
最佳答案
你可以这样试试吗
ref.child("users").child(userID!).observeSingleEvent(of: .value, with: { (snapshot) in
// Get user value
let value = snapshot.value as? NSDictionary
if let userDetail= value?["user-details"] as? [String:Any] {
// let username = value?["name"] as? String ?? ""
let username = userDetail["name"] as? String ?? ""
}
}) { (error) in
print(error.localizedDescription)
}
关于ios - 拍摄数据快照时出现 Firebase NSNull 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43462906/