【发布时间】:2018-07-15 10:35:47
【问题描述】:
我正在尝试在UITableView 中实现分页,在 stackoverflow 和谷歌上搜索了这个问题后,我得到了很多方法,但在所有解决方案中都面临同样的问题,在 willDisplay 最后一个单元格方法中一次又一次地调用,所以分页不起作用它加载在我移动到最后一个单元格之前循环中的数据请指导我 self.isGettingMoreData 在获取所有数据时为假。
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
if !self.isGettingMoreData && indexPath.row >= (self.datasource.count - 1) {
self.isGettingMoreData = true
loadmore(pagenum)
}
}
我正在使用这样的scrollview,但这样我需要在最后拖动以加载更多我不想这样的方式
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
//Bottom Refresh
if scrollView == table{
if ((scrollView.contentOffset.y + scrollView.frame.size.height) >= scrollView.contentSize.height)
{
if !isLoading{
isLoading = true
loadmore()
【问题讨论】:
-
因为它的 tableView 委托方法,它将为每个即将显示的单元格调用。所以你只需要为最后一个单元格执行你的
loadmorefunc。尝试改用indexPath.row == self.dataSource.count - 1)。 -
我觉得你的方法和我的方法没有区别
-
在我到达最后一个单元格之前,一次又一次地调用 loadmore 方法
-
如何更新数据源?
-
我只是将数据附加到数据源中的数据中
标签: ios swift xcode uitableview pagination