我有一個火力地堡支持的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'沒有下標成員' –
快樂編碼! :) –