如何从 Firebase 实时数据库读取 child 的值?
How to read values of a child from Firebase Realtime DB?
我正在尝试从我的数据库中获取值。但是,我没有成功。这是数据库的样子:
这是我试图读取值的方法:
taskRef = Database.database().reference(withPath: "Tasks").child(titleOfTask)
taskRef?.observeSingleEvent(of: .childAdded, with: { (snapshot) in
if let taskDict = snapshot.value as? [String:Any] {
print("Printing ---------> ",taskDict["Description"] as Any)
}
})
但是没有任何反应。理想情况下,我想将不同变量中的描述和截止日期都读入不同的变量中。
重要须知:
"Tasks"
是..你可以把它想象成一个 table 名字。
- Alpha、Bravo、Jalabi...等都是
"Task Names"
或 "Tasks"
的孩子
- 描述、截止日期是值
您在 JSON 中将监听器附加到 /Tasks/$titleOfTask
,比如 /Tasks/Alpha
。该侦听器要求为 /Tasks/Alpha
的第一个 child 节点调用,因此代码中的 snapshot
将指向 /Tasks/Alpha/Description
。当您随后打印 taskDict["Description"]
时,您正在打印 /Tasks/Alpha/Description/Description
的值,该值不存在。
最简单的解决方法是监听 .value
事件:
taskRef?.observeSingleEvent(of: .value, with: { (snapshot) in
if let taskDict = snapshot.value as? [String:Any] {
print("Printing ---------> ",taskDict["Description"] as Any)
}
})
现在 snapshot
拥有来自 /Tasks/Alpha
的所有数据,因此 taskDict["Description"]
最终成为来自 /Tasks/Alpha/Description
的值。
我正在尝试从我的数据库中获取值。但是,我没有成功。这是数据库的样子:
这是我试图读取值的方法:
taskRef = Database.database().reference(withPath: "Tasks").child(titleOfTask)
taskRef?.observeSingleEvent(of: .childAdded, with: { (snapshot) in
if let taskDict = snapshot.value as? [String:Any] {
print("Printing ---------> ",taskDict["Description"] as Any)
}
})
但是没有任何反应。理想情况下,我想将不同变量中的描述和截止日期都读入不同的变量中。
重要须知:
"Tasks"
是..你可以把它想象成一个 table 名字。- Alpha、Bravo、Jalabi...等都是
"Task Names"
或"Tasks"
的孩子
- 描述、截止日期是值
您在 JSON 中将监听器附加到 /Tasks/$titleOfTask
,比如 /Tasks/Alpha
。该侦听器要求为 /Tasks/Alpha
的第一个 child 节点调用,因此代码中的 snapshot
将指向 /Tasks/Alpha/Description
。当您随后打印 taskDict["Description"]
时,您正在打印 /Tasks/Alpha/Description/Description
的值,该值不存在。
最简单的解决方法是监听 .value
事件:
taskRef?.observeSingleEvent(of: .value, with: { (snapshot) in
if let taskDict = snapshot.value as? [String:Any] {
print("Printing ---------> ",taskDict["Description"] as Any)
}
})
现在 snapshot
拥有来自 /Tasks/Alpha
的所有数据,因此 taskDict["Description"]
最终成为来自 /Tasks/Alpha/Description
的值。