2016-08-09 3 views
0

Firebaseからすべてのデータを同時に読み込まずにデータをロードしようとしています。最初の20個の子ノードをロードしてから、tableViewでスクロールしながら20個以上のノードをロードするなどしたい。この後可視セルのみのデータをダウンロード - Firebase Swift

BASE_URL.child("names").queryOrderedByChild("time").observeEventType(.Value, withBlock: { snapshot in 

     self.names = [] 
     if let snapshots = snapshot.children.allObjects as? [FIRDataSnapshot] { 
      for snap in snapshots { 

       if let namesDictionary = snap.value as? Dictionary<String, AnyObject> { 
        let key = snap.key 
        let name = Name(key: key, dictionary: nameDictionary)       
        self.names.insert(name, atIndex: 0) 
       } 
      } 

     } 

     dispatch_async(dispatch_get_main_queue(), {() -> Void in 
           self.tableView.reloadData() 
     }) 
    }) 

私のtableView持っている - の委任およびデータソース

答えて

2

あなたが返されるアイテムの数を制限するfilteringを使用することができ、あなたが下にスクロールするとき、あなただけのqueryStartingAtValueで再びデータのクエリを呼び出すことができますがあなたが既に注文を指定している場合は、

+0

コード例がありますか? – user54272

+0

ドキュメントのコードスニペットで十分だと思います。残念ながら、私はまだ休み中にすぐに学んでいるので、実際には例を挙げてお手伝いできません。 – adjuremods

+0

あなたの助けをありがとう – user54272

関連する問題