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

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

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

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

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

【问题讨论】:

    标签: ios objective-c uitableview


    【解决方案1】:

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

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

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

    【讨论】:

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