【问题标题】:My firebase int returns nil我的 firebase int 返回 nil
【发布时间】:2018-06-05 04:06:27
【问题描述】:

我正在尝试从我的 firebase 数据库中提取一个 int,但是当我尝试设置我的变量时它返回 nil。

ref = Database.database().reference()    
let UserUID = Auth.auth().currentUser?.uid as? String

ref.child("users").child(UserUID!).child("MaxVal").observeSingleEvent(of:
.value, with: { (snapshot) in

            let snap = snapshot.value as? Int
            self.MaxValFB = snap! //this returns nil

    }) { (error) in
        print(error.localizedDescription)
    }

任何帮助!

编辑:在打印结果时它返回 可选(空)

这里也是 db json 文件 { "users" : { "Optional(\"njcfCQaIIhZS9qrqM9OFLqTS7yA2\")" : { "MaxVal" : 1 } } }

【问题讨论】:

  • 您是否尝试打印从快照中获得的值我认为它会类似于 [值],请您显示快照

标签: ios swift firebase firebase-realtime-database


【解决方案1】:

我认为问题出在 "Optional(\"njcfCQaIIhZS9qrqM9OFLqTS7yA2\")" ,当您将数据保存到 firebase 时,您在不打开可选选项的情况下为其提供 id,当您获得值时,您将像 UserUID! 一样打开它,所以它给出"njcfCQaIIhZS9qrqM9OFLqTS7yA2" ,因此这是两个不同的值。

所以我认为你应该在将数据保存到 firebase 时解开用户 ID,或者尝试在不解开的情况下获取它,即 child(UserUID) 没有 ! ,尽管我建议使用第一个选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-26
    • 2019-05-31
    • 2018-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    • 1970-01-01
    相关资源
    最近更新 更多