2017-09-13 68 views
0

在用於Swift的Firebase數據庫中,是否有方法從字典訪問值(作爲字符串)。每個孩子都有一個關鍵值對。例如:無論如何只能訪問兒童字典的價值嗎?

users 
|-- Bob 
    |-- [email protected]: "BOBBBBY" 

有沒有辦法將"BOBBBBY"作爲字符串訪問? 我是新來的Swift,所以任何幫助表示讚賞。從火力地堡數據庫文件

+1

這個問題並沒有意義!你可以請添加更多的信息!? – Siyavash

+2

您是否甚至檢查過官方的Firebase文檔或[入門指南](https://firebase.google.com/docs/database/ios/read-and-write)? –

+0

@DávidPásztor對此感到抱歉。是的,我讀過他們。每次我使用child.value它會返回數據作爲字典而不是字符串。我想只是「BOBBY」作爲字符串 –

回答

3

直接從https://firebase.google.com/docs/database/ios/read-and-write

let userID = Auth.auth().currentUser?.uid 
ref.child("users").child(userID!).observeSingleEvent(of: .value, with: { (snapshot) in 
    // Get user value 
    let value = snapshot.value as? NSDictionary 
    let username = value?["username"] as? String ?? "" // <<< this line 
    let user = User.init(username: username) 

    // ... 
    }) { (error) in 
     print(error.localizedDescription) 
} 

更新了您

如果需要用戶在多個領域的措施:

ref.child("users").child("Bob").observeSingleEvent(of: .value, with: { (snapshot) in 
    let value = snapshot.value as? NSDictionary 
    let emailValue = value?["[email protected]"] as? String ?? "" 
    // do more... 
} 

...或者如果您只需要一個值:

ref.child("users").child("Bob").child("[email protected]").observeSingleEvent(of: .value, with: { (snapshot) in 
    if let value = snapshot.value as? String { 
     // use the value... 
    } 
}