我一直在看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) //
})
在您打印快照时,尚未在服务器上设置该值。
如果要在将数据发送到服务器时进行打印,请在调用中添加一个所谓的完成侦听器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)")
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句