ios - 一次加载 10 个单元格行 - swift

标签 ios swift uitableview cell

我目前有一个 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)
        }
    }

最佳答案

考虑这个让分页与 Firebase 一起工作的例子: Swift iOS: Firebase Paging

要在滚动时加载更多内容,请在您的 View Controller (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()
    }
}
}

关于ios - 一次加载 10 个单元格行 - swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40615009/

相关文章:

swift - 在 Swift 中将字符串转换为 Int

ios - 如何暂停调用tableview的reloadData?

ios - 扩展 UITableviewController 的 xcode 键盘滚动问题

iphone - 如何防止 UITableViewCell 被移离它自己的部分?

ios - 在 Xcode 5 的核心数据应用程序中从 AppDelegate 连接到 ViewController

ios - Xcode 5 中的 UIViewController - socket 未显示

ios - 是否可以在没有 Core Data 关系的情况下获取对象?

swift - 如何用几个相关的 CGPoint 数组构造 Swift 代码

ios - SCNNode.position 静态?

ios - 如何在 iOS 中检测我的应用程序的 VPN 是否已连接?