2016-11-15 29 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