簡體   English   中英

如何從 Firebase 實時數據庫檢索嵌套節點到 iOS 應用程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM