我在图像上有一个数据库结构,我需要显示红色矩形中的这个日期。我试图像这样做smth,但它抛出一个错误,我在堆栈上找不到相同的问题。
我的数据库
reference.child("doc1").observe(.value, with: { (snapshot) in
if snapshot.exists() {
for date in (snapshot.value?.allKeys)
}
答案 0 :(得分:1)
您的结构是字典词典,所以你必须将你的按键投射到[String:[String:Any]]
,其中键是你的“11点......”,值包含所有小时
所以尝试使用此代码:
guard let dict = snap.value as? [String:[String:Any]] else { return }
for (key, value) in dict {
for (key2, value2) in value {
print(key2, value2) // this print your hours
}
}
无论如何,我建议你不要使用一个observe(.value)来读取所有子节点上发生的所有变化。而是使用观察者的.childAdded
功能。
使用.childAdded
,您一次只能收到一个孩子(比如儿童节点上的for),之后只会添加孩子:
Database.database().reference().child("doc1").observe(.childAdded) { (snap) in
guard let dict = snap.value as? [String:Any]
print(dict) // this print data contains on "11dot10" and so on
}