我有一个火力地堡支持的iOS应用,直到我升级的Xcode Xcode的8.现在误差线,如显示已经正常工作:Firebase Swift 3.0语法更新?
let state = child.value!["STATE"] as! String // Was correct in Swift 2.3
错误雨燕3.0:Value of type 'NSFastEnumerationIterator.Element' (aka 'Any') has no member 'value'
我的代码转换为雨燕3.0后,情况变了,语法到这一点:
let name = (child as AnyObject).value!["NAME"] as! String
但是回报s此错误:当我尝试访问快照值The Type 'Any' has no subscript members
:
Type 'NSFastEnumerationIterator.Element' (aka 'Any') does not conform to protocol 'AnyObject'
此外,我得到这个错误。
对于Swift 3.0,Firebase文档没有改变,所以这里有什么问题?
完整的代码块:
self.firebase.child(“INFO”).observeSingleEvent(of: .value, with: { (snap: FIRDataSnapshot) in
for child in snap.children{
if child.hasChild("NAME") && child.hasChild("ZIP-CODE") && child.hasChild("STATE"){
let name = child.value!["NAME"] as! String
let zip = child.value!["ZIP-CODE"] as! String
let state = child.value!["STATE"] as! String
}
}
})
感谢所有帮助,这是非常感谢!
不幸的是,它并没有解决我的问题。我只是更新了完整的代码 –
无论何时直接在FIRDataSnapshot上调用.value,错误信息如下:'Type'Any'没有下标成员' –
快乐编码! :) –