2017-03-22 26 views
-1

Firebaseデータベースに複数のオブジェクトの配列があります。 私は各配列の項目を取り出してSwift辞書に入れたいと思っています。 Firebaseのスナップショットから値を取得して辞書に挿入するにはどうすればよいですか?私Firebaseデータベースの編成方法Firebase iOSから複数のアレイを取得するSwift

:Firebaseからスナップショットを取得する

data: { 
    firstKey: [ 
    {object}, 
    {object}, 
    ... 
    ], 
    secondKey: [ 
    {object}, 
    {object}, 
    ... 
    ], 
    ... 
} 

ライン:

ref.child("data").observe(.value, with: { (snapshot) in }) 

答えて

1

まず自分のスナップショットにキャストのためのモデルを作成します。

class YourModel: NSObject { 
     var field1: String! 
     var field2: Int! 
     var field3: Bool! 

     init(snapshot: FIRDataSnapshot) { 
      if let snapshotDict = snapshot.value as? Dictionary<String, Any> { 
       field1 = snapshotDict["field1"] as? String 
       field2 = snapshotDict["field2"] as? Int 
       field3 = snapshotDict["field3"] as? Bool 

      } 
     } 
     } 

コールバックでそれぞれのデータを取得します。

var yourModels : [YourModel] = [] 
     ref.child("data").observe(.value, with: { 
      snapshot in 

      for child in snapshot.children { 
       let model = YourModel.init(snapshot: (child as? FIRDataSnapshot)!) 
       self.yourModels.append(model) 
      } 


     }) 
関連する問題