我想让我当前的用户名显示在导航栏上。
这是使用最新版本的 Swift (5) 和最新版本的 Firebase for iOS (6.3.0)。
这是我的数据库。当前用户是“Rishabh”
rishabhmessage-cd077
users
-LhfNh3w6jYW4t71y2BM
email: "J@j.com"
name: "Jon"
-LhkGgXlWOUaZiR3PruD
email: "R@r.com"
name: "Rishabh"
let uid = Auth.auth().currentUser?.uid
Database.database().reference().child("users").child(uid!).observeSingleEvent(of: .value, with: {
(snapshot) in
print("1")
if let dictionary = snapshot.value as? [String: AnyObject] {
print("2")
self.navigationItem.title = dictionary["name"] as? String
}
}, withCancel: nil)
这应该为名称为“Rishabh”的当前用户更新导航栏的标题。我添加了一些用于调试的打印语句。 print("1") 显示在控制台中,而 print("2") 不显示。
最佳答案
要么 snapshot.value 为 nil,要么它不是一种类型:[String:AnyObject]。我要做的是打破 if let 字典行,然后查看 snapshot.value 是什么
关于ios - 从 firebase 实时数据库中检索当前用户 (Swift 4/5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56688322/