2016-08-09 26 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