【问题标题】:Why getting nil when iterating through firebase database?为什么在遍历 firebase 数据库时得到 nil?
【发布时间】:2016-11-08 20:23:54
【问题描述】:

我在我的 firebase 数据库上苦苦挣扎,我不知道自己做错了什么。

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"。

我的错误在哪里?我什么都没看到。

【问题讨论】:

  • let fbscore = each.value as! Int
  • 哈哈,谢谢……太简单了。谢谢!

标签: ios swift firebase firebase-realtime-database


【解决方案1】:

您需要向下转换 AnyObject 以更正类型 Int 而不是 String

each.value as! Int

以及防止零异常。使用guard 或可选的绑定。

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

【讨论】:

    猜你喜欢
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 2019-04-20
    相关资源
    最近更新 更多