我一直在查看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) //
})
答案 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)")
}
}