我目前有一个firebase数据库,里面有很多帖子。这些帖子显示在自定义单元格中的UITableViewController中。
问题在于它会同时加载所有单元格 - 这可能会花费大量时间来发布更多帖子。
如何让它一次只加载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 :(得分:0)
考虑使用此示例获取与Firebase一起使用的分页: Swift iOS: Firebase Paging
要在滚动时加载更多,请在viewcontroller(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()
}
}
}