私は今、エラーのような行に表示Xcodeの8へのXcodeをアップグレードするまで、私はうまく機能してきたFirebase担保のiOSアプリを持っていた:スウィフト3.0でFirebase Swift 3.0構文アップデート?
let state = child.value!["STATE"] as! String // Was correct in Swift 2.3
エラー:Value of type 'NSFastEnumerationIterator.Element' (aka 'Any') has no member 'value'
let name = (child as AnyObject).value!["NAME"] as! String
しかし、その戻り値:
スウィフト3.0に私のコードを変換した後、変更は、この内の構文を作りました私はスナップショット値にアクセスしようとすると、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を直接呼び出すたびに、エラーが読み込まれます: 'タイプ 'Any'には添え字メンバーがありません。 ' –
Happy Coding! :) –