【发布时间】:2021-07-26 09:20:54
【问题描述】:
我正在构建一个简单的应用程序,用于存储和检索 firebase 实时数据库中的数据。目前我的数据库有一个用户的这些数据。 Database content
这是我用来插入数据的代码。
let ref = Database.database().reference()
let user = ref.child("bill")
user.setValue(["name":"Bill gates"])
user.child("Request/One").setValue(["Phno":" ","Message":" "])
如您所见,我正在插入一个包含空值的字典,因为我不知道如何创建一个没有任何数据的子节点。
每当将新节点作为子节点添加到请求节点时,我都会尝试完全检索数据库的请求部分。
这是我的检索代码
user.observe(.childAdded) { (DataSnapshot) in
for case let i as DataSnapshot in DataSnapshot.children
{
guard let dict = i.value as? [String:Any] else{print("Error"); return}
let a = dict["Message"] as? String
let b = dict["Phno"] as? String
print(a!)
print(b!)
}
}
但在上面的代码中,当我在数据库中显式添加新节点时,它不会被调用
【问题讨论】:
-
嗨,我解决了这个问题,但现在我遇到了新问题,知道如何解决这个问题stackoverflow.com/questions/67385898/…
-
这里要小心;首先,您不能插入具有空值的数据 - 甚至没有理由这样做。在 Firebase 中,节点不能为 nil,任何 IS nil 的节点都不能存在。第二件事,超级重要,这个
"Phno":" "不是一个空值。这是一个空间,也是一个值。
标签: ios json swift firebase firebase-realtime-database