2016-11-15 47 views
1

我現在有很多它的職位的火力數據庫。帖子顯示在自定義單元格中的UITableViewController中。負載10電池行 - 迅速

的問題是,它加載的所有單元格一次的 - 當更多的職位來這可能需要大量的時間。

我怎樣才能使它在同一時間只裝載10個職位,以及負載10多滾動至底部時?

這是我如何獲取我的帖子:

func startObersvingDB() { 
     FIRDatabase.database().reference().child("feed-items").observeEventType(.Value, withBlock: { (snapshot: FIRDataSnapshot) in 
      var newUpdates = [Sweet]() 



      for update in snapshot.children { 
       let updateObject = Sweet(snapshot: update as! FIRDataSnapshot) 
       newUpdates.append(updateObject) 

      } 

      self.updates = newUpdates.reverse() 
      self.tableView.reloadData() 


     }) { (error: NSError) in 
      print(error.description) 
     } 
    } 

回答

0

考慮這個例子用於獲取分頁與火力地堡的工作: Swift iOS: Firebase Paging

以及加載更多的滾動時,試試這個在您的視圖 - 控制(Swift3 ):

extension MyViewController:UIScrollViewDelegate { 
func scrollViewDidScroll(_ scrollView: UIScrollView) { 
    let offset = scrollView.contentOffset.y 
    if offset > self.tableView.contentSize.height - 50 { //This value is adjustable 
     functionToPullMoreDatabaseItems() 
    } 
} 
} 
+0

這可能是一個非常愚蠢的問題,但內容的高度與加載更多的帖子有什麼關係? :) –

+0

當contentOffset.y等於contentSize.height,那就是當你滾動至底部。減去50,您可以調用該函數你到達底部之前,所以數據有被你得到它的時間從數據庫中裝載更多。 – rmooney