2017-04-07 14 views
0

誰もが画像を取得しています。私はFirebaseのデータベースにある子供からの画像の断片を取り出すことに困っています。私はiOSプロジェクトをやっていて、スイフト3とXCodeを使っています。基本的に、結局のところ、私の "イメージ"変数は "nil"を返します。できれば助けてください。ここで私が使用していたコードは次のとおりです。Firebase子から画像を取得しています

let ref = FIRDatabase.database().reference().child("menu") 
     ref.observeSingleEvent(of: .value, with: { (snapshot) in 
      if let dictionary = snapshot.value as? [String: AnyObject] { 
       let image = dictionary["foodImageUrl"] as? String 
       print(image as Any) // this returns nil 

とデータベース構造の一例

enter image description here

私はメニューノード

答えて

0
からのすべての子供たちからのすべての「foodImageUrl」をフェッチする必要があります

snapshot.valueは各ノードの詳細情報ではなく、メニューのサブアイテムのリストですので、forEachを使用し、各ノード内でdictionary["foodImageUrl"] as? Stringを使用して画像を取得してください

は、私はそれを得ることができないので、あなたが、一例を思い付くしてもらえこの

let ref = FIRDatabase.database().reference().child("menu") 
    ref.observeSingleEvent(of: .value, with: { (snapshot) in 
     for rest in snapshot.children.allObjects as! [FIRDataSnapshot] { 
      if let dictionary = rest.value as? [String: AnyObject]{ 
       let image = dictionary["foodImageUrl"] as? String 
       print(image as Any) 
      } 
     } 
+0

を試してみてください? –

+0

@OleksiiDniprovskyiあなたは編集したものを試すことができます – atom2ueki

+0

はい、私はすでに今日解決しました。唯一のことは、あなたがまだこの部分を 'if dictionary = rest.value'を' as? [文字列:AnyObject] '。とにかくヒントありがとう! –

関連する問題