2016-09-08 6 views
1

私は間違っているのか分かりません! Firebaseデータベースからデータを取り出し、各結果を繰り返して配列に格納するだけです。私はservalの異なるアプローチを試みました。しかし、それらはすべて結果を配列に一度に1つずつ追加します。 I以下のようなデータを持っている:スウィフトアイオスのアレイにFirebaseデータを追加

{ 
     "1400001" : { 
     "HHtype" : 3, 
     "Sesgrup" : 4, 
     "lg_Et harcaması" : 0, 
     "lg_Total Harcama" : 3.11 
     }, 
     "1400002" : { 
     "HHtype" : 1, 
     "Sesgrup" : 4, 
     "lg_Et harcaması" : 1.2, 
     "lg_Total Harcama" : 3.15 
     }, 
     "1400004" : { 
     "HHtype" : 3, 
     "Sesgrup" : 4, 
     "lg_Et harcaması" : 1.18, 
     "lg_Total Harcama" : 3.06 
     }, 
     "1400005" : { 
     "HHtype" : 4, 
     "Sesgrup" : 3, 
     "lg_Et harcaması" : 2.21, 
     "lg_Total Harcama" : 3.74 
     }, 
     ....... 

そして、私は以下のコード使用しています:

func sen(){ 
     var rootRef: FIRDatabaseReference! 
     var refHandle: UInt! 
     var haneRef: FIRDatabaseReference! 
     var numbersArray = [Int]() 



     rootRef = FIRDatabase.database().reference() 
     haneRef = rootRef.child("SES2014") 


     haneRef.queryOrderedByChild("lg_Et harcaması").queryLimitedToLast(4).observeEventType(.ChildAdded, withBlock: { (snapshot) in 
      let hhtype = snapshot.value!["HHtype"] as? Int 
      numbersArray.append(hhtype!) 
      print(numbersArray) 



     }) 

    } 

をAnd、結果は次のとおりです。

[3] 
[3, 1] 
[3, 1, 4] 
[3, 1, 4, 4] 

私が取得したいです最後の配列:[3、1、4、4]

どうすればいいですか?ありがとう

答えて

0
func sen(){ 
     var rootRef: FIRDatabaseReference! 
     var refHandle: UInt! 
     var haneRef: FIRDatabaseReference! 
     var numbersArray = [Int]() 



     rootRef = FIRDatabase.database().reference() 
     haneRef = rootRef.child("SES2014") 

     let queryCount = 4 
     haneRef.queryOrderedByChild("lg_Et harcaması").queryLimitedToLast(queryCount).observeEventType(.ChildAdded, withBlock: { (snapshot) in 
      let hhtype = snapshot.value!["HHtype"] as? Int 
      numbersArray.append(hhtype!) 
      queryCount -= 1 
      if queryCount <= 0 { 
       print(numbersArray) 
      } 



     }) 

    } 
+0

ありがとう!それは完全に動作します –

+0

あなたの参照が十分な4子を持っていない場合は間違っています –

+0

心配しないでください、私のリファレンスは9000の子供を持っています。私はここに投稿しました。4.ありがとうございました –

関連する問題