UITableView在更新NSFetchedResultsController时将滚动保持在正确的位置

phi*_*uuu 8 uitableview nsfetchedresultscontroller ios infinite-scroll

我正在开发一个主要使用的iOS应用程序UITableView.它从服务器检索文章页面.我们有25000篇文章; 所以我实现了一个pull-to-refresh和无限滚动来遍历标题集.下载的内容使用核心数据保留; NSFetchedResultsController用于自动更新UITableView.

但是,我已经实现了无限滚动两个方向; 上和下.由于用户将允许向下滚动25000篇文章标题,因此我必须删除用户已滚动的文章.如果用户向上滚动,我必须重新插入当前标题之上的标题.这样做,我在文章集合中有一个移动的窗口.

我使用部分和标题按日期组显示我的文章.

问题是因为无限滚动是双向的,所以我经常删除或在表格的较高位置添加文章.事实上,我必须改变与之相关的谓词NSFetchedResultsController.

滚动被混乱的结果.我已经让它跳回到它应该是ish的位置.它不是很好,因为它是一个跳跃(动画:NO),如果我把动画打开,它会在回到正确的位置之前四处走动.而且这个位置并不完全是应该的位置.

我不确定我是否解释了我的问题.我认为问题可能在于我使用的方式,UITableView但我不确定如何使用它来使这更好.

干杯

jav*_*ezg 1

如果你只在 Core Data 中存储文章标题,我认为它可以处理 25,000 个标题。

但是我认为您遇到的问题是表格可见元素的分页

这是我用来处理您请求的内容的链接。您必须进行一些调整才能使用核心数据和远程源。

如果可以的话,请发布一些代码,以便我们查看。