ios - 如何从 iOS 的 Firebase 中的子节点获取数据
问题描述
我的数据库结构是
appname:
Tasks:
childbyautoid1:
"name": "myname"
"age": "18"
childbyautoid2:
"name": "yourname"
"age": "20"
我想知道如何获取所有子节点的名称和年龄的所有数据,因为我不知道childbyautoid
我在写信
Database.database().reference().child("Tasks").observe(.childAdded){ (dss) in
if let value = dss.value as? [String: AnyObject]{
let name = value["name"] as? String
let age = value["age"] as? String
print(name)
print(age)
}
解决方案
你可以这样遍历每个孩子:
// Create a reference to the database path
let ref = Database.database().reference(withPath: "Tasks")
// You can keep your database synced
ref.keepSynced(true)
ref.observe(.value, with: { (snapshot) in
// Checking if the reference has some values
if snapshot.childrenCount > 0 {
// Go through every child
for data in snapshot.children.allObjects as! [DataSnapshot] {
if let data = data.value as? [String: Any] {
// Retrieve the data per child
// Example
let name = data["name"] as? String
let age = data["age"] as? String
// Print the values for each child or do whatever you want
print("Name: \(name)\nAge: \(age)")
}
}
}
})
推荐阅读
- azure - 使用 Azure 功能进行 Google 身份验证
- r - 如果条件为真,则将矩阵中的值除以另一个矩阵
- ios - 从 HealthKit 读取锻炼数据的最佳方法
- javascript - 如何通过单击 ckeditor.js 中的删除格式选项来更改 ckeditor 中的锚标记和标题
- javascript - 使用 javascript 设置字段(SharePoint 2013 编辑项表单)
- react-native - 标记多个日期动态反应原生wix
- javascript - 使用javascript获取本地机器的桌面路径
- sql - 检查触发器中的日期
- ruby-on-rails - Rails 5.2 如何修复缺少要链接的主机!请提供 :host 参数
- javascript - Turn the tab active based on the current url