[英]How to retrieve nested nodes from Firebase realtime database to iOS app
我正在構建一個簡單的應用程序,它可以從 firebase 實時數據庫中存儲和檢索數據。 目前我的數據庫有一個用戶的這些數據。 數據庫內容
這是我用來插入數據的代碼。
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!)
}
}
但是在上面的代碼中,當我在數據庫中明確添加一個新節點時它不會被調用
使用下面的代碼解決了它
user.observe(.childAdded) { (DataSnapshot) in
if let dict = DataSnapshot.value as? NSDictionary
{
for i in dict.allKeys
{
if let data = dict[i] as? NSDictionary
{
let message = data["Message"] as! String
let phno = data["Phno"] as! String
if(message != "" && phno != "")
{
print(message)
print(phno)
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.