2017-02-17 131 views
0

我有以下快照和我试图创建字典的数组。我一直在摆弄作为[String:Bool]或获取snapshot.value或任何东西,但似乎无法正常工作的方法。任何建议我怎么去做呢?火力地堡斯威夫特:转换快照词典

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

快照看起来是这样的:

快照(PERSON1)0

快照(PERSON2)0

快照(Person3可能)0

我试图写出这样的数组:

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

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

回答

1

你需要转换快照值[字符串: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!!!!") 
} 
+1

喜@joakim并未真正发挥作用。可选的浇铸返回nil和力铸造返回错误无法投型的值“__NSCFBoolean”(0x103e8a5b8)到“的NSDictionary”(0x103e8b288)。 – Koh

相关问题