2016-11-08 60 views
0

我正在努力與我的firebase數據庫,我不知道,我做錯了什麼。爲什麼在通過Firebase數據庫迭代時得到nil?

self.ref.child("User").observeSingleEvent(of: .value, with: { (snapshot) in 

    let value = snapshot.value as! [String: AnyObject] 

    for each in value { 
     let username = each.value["username"] as! String 
     self.ref.child("Highscores").child(username).observeSingleEvent(of: .value, with: { (snapshot) in 
      let wert = snapshot.value as! [String: AnyObject] 
      for each in wert { 
       let fbscore = each.value["score"] as! String 

在這種情況下,fbscore是零。

每個的輸出(打印)是(「score」,21),所以each.key是「score」,each.value是「21」。

我的錯誤在哪裏?我什麼也沒看見。

+0

'let fbscore = each.value as! Int' –

+0

哈哈,謝謝你......太容易了。謝謝! –

回答

1

您需要Downcast AnyObject更正類型Int而不是String

each.value as! Int 

以及防止零例外。使用guard或可選的綁定。

if let fbscore = each.value as? Int {  
    print(fbscore) 
}else{ 
    print("casting failed") 
}