2017-04-12 29 views
0

我試圖從Firebase檢索用戶信息。Firebase無法從字典中獲得價值

rk70HDmNSGfugTcIbTdAKhKXE4K2 =  { 
    Email = "[email protected]"; 
    UserID = rk70HDmNSGfugTcIbTdAKhKXE4K2; 
    Username = "Johnny_Bravo"; 
}; 

這是我檢索的快照。 我想達到用戶的電子郵件,但我得到一個崩潰由於零值

func retreiveUsers(){ 

    databaseRef.child("Users").observeSingleEvent(of: .value, with: { (snapshot) in 

     if let fetchedUser = snapshot.value as? NSDictionary { 

      print(fetchedUser["Email"]) 

     } 
    }) 
} 

什麼是錯的?

+0

能否請您添加烏爾數據庫結構的屏幕截圖,顯示的是databaseRef –

回答

1

如果添加更多信息會更好。我寫了評論。

但我認爲,這個問題是,databaseRef.child(「用戶」)將獲取所有用戶節點。您需要添加.child(USER_ID)或做這樣的事情:

databaseRef.child("Users").observeSingleEvent(of: .value, with: { (snapshot) in 

    for item in snapshot.children { 
     let fetchedUserSnapshot = item as! FIRDataSnapshot 
     if let fetchedUser = fetchedUserSnapshot.value as? [String: Any] { 
      print(fetchedUser["Email"]) 
     }  
    } 
}) 

試試這個

希望它可以幫助

+0

那麼這裏你去 –

+1

通過使用你的方法,我得到它的工作。但是,我是一個真正的noob在迅速和firebase,因此,你能描述發生了什麼事情。 –

+0

@HussainMustafa使用.child(「用戶」),您將訪問所有用戶節點。不是特定的用戶。因此,在「for」週期中,您正在查看項目。然後獲取每個用戶快照並從中獲取數據。請將其標記爲答案,以便它可以幫助其他人 –