Ios 使用Swift从Firebase读取单个值
因为这个问题,我已经死了 首先让我向您展示我的Swift代码:Ios 使用Swift从Firebase读取单个值,ios,swift,database,firebase,firebase-realtime-database,Ios,Swift,Database,Firebase,Firebase Realtime Database,因为这个问题,我已经死了 首先让我向您展示我的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 { dbR
@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
我想做的是:
如果我在电话文本字段中键入任何数字
然后testLabel
显示1111
(Firebase中的真实电话值)
但是当我运行这个项目时,testLabel
显示的是user1
(来自Firebase的值),而不是电话值
有人能帮我吗?试试这个:
...
dbRef.child("user/phone").observeSingleEvent(of: .value) {
(snapshot) in
if let phoneDB = snapshot.value as? Int {
self.testLabel.text = "\(phoneDB)"
}
}
您正在读取所有user
子节点,其中还包括password
和name
节点。上述代码只读取所需的用户/电话值;)
还要注意,我现在使用的是.value
而不是.childAdded
。它正在工作。。。你救了我的命。。。非常感谢;)再一个。。。。输出看起来是可选的(1234)。我能找到解决这个问题的线索吗?工作得很好!我再次感谢你;)