Firebase Swift:将快照转换为字典

Firebase Swift:将快照转换为字典,swift,firebase,Swift,Firebase,我有以下快照,我正在尝试创建一个字典数组。我一直在摆弄各种方法来转换为[String:Bool]或获取snapshot.value或其他任何东西,但似乎无法正常工作。有什么建议吗?我该怎么做呢 ref.child("activities").child(userUID!).observe(.childAdded, with: { (snapshot) in print(snapshot) }) { (error) in print(error.localizedDes

我有以下快照,我正在尝试创建一个字典数组。我一直在摆弄各种方法来转换为[String:Bool]或获取snapshot.value或其他任何东西,但似乎无法正常工作。有什么建议吗?我该怎么做呢

ref.child("activities").child(userUID!).observe(.childAdded, with: { (snapshot) in
       print(snapshot)
}) { (error) in
       print(error.localizedDescription)
}
快照如下所示:

Optional(["Person3": false, "Person2": false, "Person1": false])
Snap(Person1)0

Snap(Person2)0

Snap(Person3)0

我正在尝试编写如下数组:

Optional(["Person3": false, "Person2": false, "Person1": false])

非常感谢您的建议,谢谢

您需要将快照值强制转换为[String:Bool]。您可以使用下面的代码来完成

snapshot.value as? [String:Bool]
编辑: 你说它不工作…你确定你有任何数据要检索吗

如果你这样做,你会发现你是否有任何数据

if let value = snapshot.value{
    //there is data available
    let data = value as [string:Any]
    print("\(data)")
}else{
    //there is no data available. snapshot.value is nil
    print("No data available from snapshot.value!!!!")
}

嗨,joakim真的不管用。可选强制转换返回nil,强制强制转换返回一个错误,无法将类型为“\uu NSCFBoolean”(0x103e8a5b8)的值强制转换为“NSDictionary”(0x103e8b288)。