当我检索数组时,我正在使用此函数:
self.gameRef!.observeSingleEvent(of: .value, with: { (snapshot) in
let value = snapshot.value as? NSDictionary
let seeds = value?["seed"] as! [Int]
}
这是我的错误:
这是我的结构:
但是,大部分时间它都在工作。有时,我得到这个崩溃。我不知道为什么。谢谢你的帮助。
答案 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.