【问题标题】:Reading a single value from Firebase using Swift使用 Swift 从 Firebase 读取单个值
【发布时间】:2017-11-11 14:40:49
【问题描述】:

因为这个问题,我快要死了。

让我先给你看一下我的 Swift 代码

@IBOutlet weak var testLabel: UILabel!
@IBOutlet weak var phoneTextField: UITextField!

var dbRef : DatabaseReference!
dbRef = Database.database().reference()

if let text = phoneTextField.text, !text.isEmpty {
    dbRef.child("user").observeSingleEvent(of: .childAdded) {    
        (snapshot) in
        let phoneDB = snapshot.value as? String
        self.testLabel.text = phoneDB
    }
}

这是我的 Firebase 数据库

project-2ac-33
 -user
   -name : "user1"
   -phone : 1111
   -password : 1234 

我想做的是: 如果我在phoneTextField 中输入任何数字 然后testLabel 显示1111(Firebase 中的真实电话值)。

但是当我运行这个项目时,testLabel 向我显示 user1 而不是电话值(来自 Firebase 的值)。

谁能帮帮我?

【问题讨论】:

    标签: ios swift database firebase firebase-realtime-database


    【解决方案1】:

    试试这个:

    ...
    dbRef.child("user/phone").observeSingleEvent(of: .value) { 
        (snapshot) in
        if let phoneDB = snapshot.value as? Int {
            self.testLabel.text = "\(phoneDB)"
        }
    }
    

    您正在阅读所有 user children,其中还包括 passwordname 节点。上述代码读取所需的user/phone 值;)

    另外请注意,我现在也使用.value 而不是.childAdded

    【讨论】:

    • 它正在工作......你救了我的命......非常感谢;)
    • 还有一个......输出看起来是可选的(1234)。我能找到解决这个问题的任何线索吗?
    • 完美运行!我再次感谢;)
    • 非常感谢您的回答
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-18
    • 2020-01-28
    • 2018-07-23
    • 2018-03-26
    • 1970-01-01
    相关资源
    最近更新 更多