使用 swift 获取 firebase 中所有子项的数据

Dan*_*ács 2 ios firebase swift firebase-realtime-database

我有一个 firebase 实时数据库。它看起来像这样:

图像

这是我的代码:

ref.child("2").observeSingleEvent(of: .value, with: { snapshot in

        guard let dict = snapshot.value as? [String:Any] else {
            print("Error")
            return
        }
        let latitude = dict["Latitude"] as Any
        let longtitude = dict["Longtitude"] as Any
        print(longtitude)
        print(latitude)
    })
Run Code Online (Sandbox Code Playgroud)

我的问题是我的代码仅从名为 的孩子中检索数据2。我怎样才能让它检索所有孩子的数据?

如果您有任何疑问,请告诉我。谢谢你的帮助!

Fra*_*len 5

您需要在 JSON 中附加更高一级的观察者,然后循环遍历子节点:

ref.observeSingleEvent(of: .value) { snapshot in
    for case let child as FIRDataSnapshot in snapshot.children {
        guard let dict = child.value as? [String:Any] else {
            print("Error")
            return
        }
        let latitude = dict["Latitude"] as Any
        let longtitude = dict["Longtitude"] as Any
        print(longtitude)
        print(latitude)
    }
}
Run Code Online (Sandbox Code Playgroud)

循环语法取自Iterate over snapshot Children in Firebase,但另请参阅如何在同一循环中同时循环所有 Firebase 子项?Firebase 中的循环