将表格滚动到底部后,使用新数据更新 UITableView 的数据源

Posted

技术标签:

【中文标题】将表格滚动到底部后,使用新数据更新 UITableView 的数据源【英文标题】:Update data source of an UITableView with new data after scrolling table to the bottom 【发布时间】:2015-01-16 16:19:49 【问题描述】:

我有基于参数返回数据的后端。所以参数包括offsetlimit键。

如果你知道的话,它就像分页。所以基于偏移量和限制服务器从数据库中返回给我适当数量的项目。

第一次运行时,我从 0 偏移位置加载 30 个项目。然后我需要在向下滚动表格并更新数据源后加载更多项目。

我找到了solution,但问题是当我向上滚动然后再向下滚动时不要复制数据。也许已经有解决方案或示例。当然我可以写一些我的“***”,但也许有人可以建议最好的算法,也许也使用滚动视图委托它不是那么好,而不是这个可能更好地使用 cellForRowAtIndexPath 来确定例如一些接近结束的单元格的单元格,然后更新它。

【问题讨论】:

【参考方案1】:

我已经通过使用willDisplayCell 和以下两个控制是否加载更多项目的条件解决了同样的问题:

使用条件检查从 API 加载的“总”项数是否大于 UITableView 中已有的行数 使用条件检查“要显示的行”的计数是否大于已加载的行数

基本上,这是对这个答案的轻微修改:https://***.com/a/19448220/209867

【讨论】:

谢谢你的回答,一件事,不确定链接。所以有一些我无法理解的变量和条件,比如_noMoreDataAvailable。想法不错,但是下一个问题,无论如何都会出现双重加载相同的数据。或者也许我错过了什么 我只使用这个 if (indexPath.row == self.items.count - 1) 并且在 willDisplayCell 中翻转工作正常

以上是关于将表格滚动到底部后,使用新数据更新 UITableView 的数据源的主要内容,如果未能解决你的问题,请参考以下文章

通过从上到下滚动表格来刷新 UITable 内容

可滚动且与 UITable 滚动同步的背景图像

在 UITableView 中滚动到顶部后,CAGradientLayer 位置错误。迅速

向上滚动 UITable 后的 Swift 5 调用函数

jquery 滚动条到底部执行方法问题.

使用动态单元格高度时将表格视图滚动到底部