ios - 从 firebase 实时数据库中检索当前用户 (Swift 4/5)

标签 ios swift firebase

我想让我当前的用户名显示在导航栏上。

这是使用最新版本的 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/

相关文章:

ios - iOS 中的转换和特定的缩放

ios - 不同的 iPhone 模拟器尺寸会导致节点错位

swift - iOS14 WidgetKit 可以请求主应用程序更新其数据吗?

javascript - 是否可以根据键的一部分过滤键值对?

ios - 在dbaccess中使用空参数获取查询

ios - 启动屏幕的自定义文件

ios - 如何在 MKAnnotation swift 中添加额外的属性

ios - swift中以下时区之间有什么区别

javascript - 如何通过两个不同的索引访问相同的Firebase数据?

javascript - Firebase云函数 "Function returned undefined, expected Promise or value"