Swift Firebase使用获取数据。值观察器不工作?
我不想使用.value observer获取firebase数据,我有一个名为“object”的对象类,它只有一个名为“test”的string类型属性 更新:我的对象类Swift Firebase使用获取数据。值观察器不工作?,swift,firebase,firebase-realtime-database,Swift,Firebase,Firebase Realtime Database,我不想使用.value observer获取firebase数据,我有一个名为“object”的对象类,它只有一个名为“test”的string类型属性 更新:我的对象类 public class object : NSObject{ var test : String! } 这是我的代码: import UIKit import Firebase class ViewController: UIViewController { var ref : FIRDatabas
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,数据将被检索
如果我做错了什么,有人能指导我吗
更新:添加firebase数据库映像您应该在返回的字典
[String:AnyObject]
上循环,然后创建相应的对象
实例
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)")
}
}
}
你能在FireBase中添加数据库的屏幕截图吗?我添加了屏幕截图不清楚
对象的含义。。。你能把这个类的定义也添加到你的问题中吗?谢谢对象类也被添加了。谢谢你,我在.value observer中丢失了返回的字典,现在所有的工作都完成了。还有一件事,请告诉我,我如何获取对象的键??使用for(key,objectData)in data
。