ios - 获取 Firebase 列中的所有数据

标签 ios swift firebase firebase-realtime-database

我创建了 JSON 数据库树,我可以使用这些代码读取特定值。我可以在表格 View 中看到“Albert Einstein”

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

            if let item = snapshot.value as? String{

                self.myList.append(item)
                self.LessonsTableView.reloadData()
            }

        })

https://i.hizliresim.com/JlNEbj.png

但是,我想查看“个人”栏下的哪些类别?像这样,

https://i.hizliresim.com/9dApPO.png

有什么方法可以获取或了解哪些列在“个人”下

TableView 输出必须是 -> 年龄、姓名、照片

最佳答案

您可以遍历快照,获取它的子项,然后获取那些子项的键

假设您有一个用户节点

users
  user_0
    fav_game: "WoW"
    name: "Leroy"

然后获取name:和fav_game的key:

let userRef = self.ref.child("users").child("user_0")
userRef.observeSingleEvent(of: .value, with: { snapshot in
    for child in snapshot.children {
        let snap = child as! DataSnapshot
        let key = snap.key
        print(key)
    }
})

打印

fav_game
name

重要的一点是

for child in snapshot.children

因为这将使数据(在本例中为键)保持有序。如果快照被转储到字典中,它就会失去顺序。

关于ios - 获取 Firebase 列中的所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45363342/

相关文章:

objective-c - 是否可以访问App Bundle的en.lproj?

swift - TwitterKit 登录总是第一次尝试失败然后第二次尝试成功(Swift、TwitterKit、Firebase)

ios - 如何通过 Firebase 在 GoogleSignIn 后重定向到另一个屏幕? iOS系统

ios - 如何在与默认目标中的数据不同的数据/应用程序(SQLite db、UserDefaults)上运行 Xcode 测试?

ios - Flex Mobile 4.6 应用程序不会在 IOS 上创建数据库?

iOS - 为多个 uilocalnotification 打开多个相同的 View Controller

swift - CSVImporter 在 vi​​ewdidload 之后开始导入 [Swift]

ios - 单击按钮时为标题 View 添加动画

ios - 在具有多个 Android 应用程序和一个 iOS 应用程序的 Firebase 中注册新的 bundle ID 时出现错误

azure - 用于注册的推送通知系统句柄不再有效 - FCM