Firebase有时会崩溃,但并非总是如此

时间:2017-03-13 19:36:24

标签: ios swift firebase firebase-realtime-database

当我检索数组时,我正在使用此函数:

self.gameRef!.observeSingleEvent(of: .value, with: { (snapshot) in
                    let value = snapshot.value as? NSDictionary
                    let seeds = value?["seed"] as! [Int]
}

这是我的错误:

enter image description here

这是我的结构:

enter image description here

但是,大部分时间它都在工作。有时,我得到这个崩溃。我不知道为什么。谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

我会尝试解开快照值

self.gameRef!.observeSingleEvent(of: .value, with: { (snapshot) in

             if let value = snapshot.value as? [String:[Int]], let seeds = value["seed"]{
             //continue
}  
}

答案 1 :(得分:0)

问题在于,当您按顺序使用Ints时,Firebase会将它们视为数组。而你就像一本字典一样。你应该避免使用像键这样的Int,因为:

  

如果所有键都是整数,则超过一半键   在0和对象中的最大键之间具有非空值,   然后Firebase会将其渲染为数组

您可能需要查看this answer too.