【发布时间】:2020-07-11 22:01:02
【问题描述】:
通过一些研究,我发现这种方法对达到我的目的非常有用:在表格视图中分页。
我做的是:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let offsetY = scrollView.contentOffset.y
let contentHeight = scrollView.contentSize.height
if offsetY > contentHeight - scrollView.frame.height {
//print
if vievModel.!paginationFinished {
self.viewModel.loadMoreData()
self.tableView.reloadData()
}
}
}
变量 paginationFinished 在我的视图模型中管理,当我调用 load more Data 时,页码增加 1。
问题在于,当我向下滚动以加载更多数据时,这段代码会像所有可能的时间一样调用我的 viewModel 函数。
事实上,如果我在代码行中打印一些内容,当我到达页面末尾时,它会打印 15 次。
这段代码有什么问题?我该如何改进呢?我想到达页面末尾并调用我的 loadMoreData 一次,以便将数据加载到 pageCounter 中。我想我错过了什么
【问题讨论】:
标签: ios swift uitableview pagination infinite-scroll