我不想使用 .value 观察器获取我的 firebase 数据,我有一个名为“object”的对象类,它只有一个名为“test”的 string 类型的属性。
更新:我的对象类
public class object : NSObject{
var test : String!
}
这是我的代码:
import UIKit
import Firebase
class ViewController: UIViewController {
var ref : FIRDatabaseReference!
var objarray = [object]()
override func viewDidLoad() {
super.viewDidLoad()
ref = FIRDatabase.database().reference().child("root")
loaddata()
}
func loaddata(){
ref.observe(.value, with: { (snapshot) in
let obj = object()
if let data = snapshot.value as? [String : AnyObject]{
obj.setValuesForKeys(data)
self.objarray.append(obj)
print("%%%%%%% \(obj.test)")
}
})
}
}
当我使用 .value 观察者时,它什么也没有检索!!,但如果我使用 .childAdded 数据将被检索??
如果我做错了什么,有人可以指导我吗?
您应该遍历返回的字典[String : AnyObject]
,然后创建相应的object
实例。
ref.observe(.value) { (snapshot) in
if let data = snapshot.value as? [String : AnyObject] {
for objectData in data.values {
let obj = object()
obj.setValuesForKeys(objectData as! [String : AnyObject])
self.objarray.append(obj)
print("%%%%%%% \(obj.test)")
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句