Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用Swift从Firebase读取单个值_Ios_Swift_Database_Firebase_Firebase Realtime Database - Fatal编程技术网

Ios 使用Swift从Firebase读取单个值

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

因为这个问题,我已经死了

首先让我向您展示我的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 
我想做的是: 如果我在
电话文本字段中键入任何数字
然后
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)。我能找到解决这个问题的线索吗?工作得很好!我再次感谢你;)