Swift Firebase使用获取数据。值观察器不工作?

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

我不想使用.value observer获取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,数据将被检索

如果我做错了什么,有人能指导我吗


更新:添加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