2016-07-02 13 views
2

firebase data新しいFirebaseデータを取得する - iOS Swift

iOSプログラミングの新機能です。私のプロジェクトでは、データをfirebaseデータベースに保存しました。私はすべての "meanACC"値のデータを取得し、その配列の値が[2,5,6,6]になるように配列に格納する必要があります。助けてください。

+0

なぜこの情報が必要ですか?もう少し説明できますか? – adolfosrs

+0

データベースに格納されている「meanAcc」と「peakAcc」の値を持つ4つのオブジェクトを考えてみましょう。アプリケーションを使用して、私は5番目のオブジェクトを保存し、その "meanAcc"の値とデータベースにすでに格納されている4つのオブジェクトの "meanAcc"の値を比較したい。 –

答えて

2

現在の構造では、すべてのデータをロードし、子を反復してmeanAccのそれぞれを比較する必要があります。

​​

別のオプションは/Dataの下に新しい値を格納するたびに、別のブランチMeanAccsmeanAcc値を格納することです。ここでは、あなたの残りのデータがあなたのバリデーションに関係ないと仮定しています。この構造により

/MeanAccs 
    /meanAccValue1 : true 
    /meanAccValue2 : true 

あなたはDataの下で、追加情報をロードすることなく、すべてのmeanAccの配列を持つことができます。

ref.child("MeanAccs").observeSingleEventOfType(.Value, withBlock: { (snapshot) in 
    if let result = snapshot.children.allObjects as? [FIRDataSnapshot] { 
     for child in result { 
      var meanAcc = child.key as! String 
      print(meanAcc) 
     } 
    } 
}) 
+0

ありがとうございます。出来た。 –

+0

@ guljosanあなたは答えを受け入れることができますか? :) – adolfosrs

0

値を配列に追加するだけですか?

var myArray = [Int]() 

    let dataRef = myRootRef.childByAppendingPath("Data") 

    dataRef.queryOrderedByChild("meanAcc").observeEventType(.Value, withBlock: { 
     snapshot in 

     for child in snapshot.children { 
      let val = child.value["meanAcc"] as! Int 
      myArray.append(val) 
     } 
     print(myArray) //prints the array [2, 5, 6, 6] 
    }) 
関連する問題