从Swift中的Firebase检索数据

时间:2016-09-21 14:59:50

标签: ios swift firebase firebase-realtime-database

我一直在查看Firebase网站上的API,但是,当我打印快照时,我会从数据库中获得所有内容

我正在尝试只打印我刚设置的值,这是我的变量:test_person_1

 import UIKit
 import Firebase

 class Test: UIViewController {


override func viewDidLoad() {
        super.viewDidLoad()

    let ref = FIRDatabase.database().reference()



    ref.observeEventType(.ChildAdded, withBlock: { (snapshot) in



        var test_person_1 = ["full_name": "Test 1", "date_of_birth": "June 1, 2000"]
        var Test_person_2 = ["full_name": "Grace Hopper", "date_of_birth": "July 1, 2000"]
                    let usersRef = ref.child("New child")


        usersRef.setValue([test_person_1])


        print(snapshot) //


    })

Json树:enter image description here

1 个答案:

答案 0 :(得分:1)

当您打印快照时,尚未在服务器上设置该值。

如果您想在数据发送到服务器时进行打印,请在setValue()电话中添加所谓的完成聆听者:

usersRef.setValue([test_person_1]) { (error, ref) in
    print(error, ref)
}

如果没有错误,您就知道服务器上的值是您刚写的内容。但是如果你想从服务器读回值,你需要为它附加一个监听器:

usersRef.setValue([test_person_1]) { (error, ref) in
    ref.observeSingleEventOfType(.Value) { (snapshot) in
        print ("new value \(snapshot.value)")
    }
}