Firebase Swift:将快照转换为字典

时间:2017-02-17 15:48:22

标签: swift firebase

我有以下快照,我正在尝试创建一个字典数组。我一直在摆弄作为[String:Bool]或获取snapshot.value或者什么但是似乎无法正常工作的方法。有什么建议我该怎么做呢?

ref.child("activities").child(userUID!).observe(.childAdded, with: { (snapshot) in
       print(snapshot)
}) { (error) in
       print(error.localizedDescription)
}

快照如下所示:

  

Snap(Person1)0

     

Snap(Person2)0

     

Snap(Person3)0

我正在尝试编写一个这样的数组:

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

非常感谢一些建议,谢谢!

1 个答案:

答案 0 :(得分:1)

您需要将快照值强制转换为[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!!!!")
}