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

Ios UITableView在更新NSFetchedResultsController时将滚动条保持在正确的位置,ios,uitableview,nsfetchedresultscontroller,infinite-scroll,Ios,Uitableview,Nsfetchedresultscontroller,Infinite Scroll,我正在开发一个主要使用UITableView的iOS应用程序。 它从服务器检索文章页面。我们有超过25000篇文章;因此,我实现了一个拉刷新和无限滚动的旅行标题集合。 下载的文件使用核心数据保存NSFetchedResultsController用于自动更新UITableView 然而,我实现了双向无限滚动;上下。由于用户将被允许向下滚动25000个文章标题,我必须删除用户已经滚动过的标题。如果用户向上滚动,我必须在当前标题上方重新插入标题。 这样,我在文章集合中有了一个移动窗口 我使用节和标题

我正在开发一个主要使用
UITableView
的iOS应用程序。 它从服务器检索文章页面。我们有超过25000篇文章;因此,我实现了一个拉刷新和无限滚动的旅行标题集合。 下载的文件使用核心数据保存
NSFetchedResultsController
用于自动更新
UITableView

然而,我实现了双向无限滚动;上下。由于用户将被允许向下滚动25000个文章标题,我必须删除用户已经滚动过的标题。如果用户向上滚动,我必须在当前标题上方重新插入标题。 这样,我在文章集合中有了一个移动窗口

我使用节和标题按日期组显示我的文章

问题是,因为无限滚动是双向的,所以我经常删除或添加表中较高位置的文章。 实际上,为了实现这一点,我必须更改与
NSFetchedResultsController
关联的谓词

这是由于滚动被弄乱而导致的结果。我已经让它跳回到了它应该处于的位置。这不是很好,因为它是一个跳跃(动画:否),如果我把动画,它会在回到正确的位置之前到处跑。而且这个位置并不是它应该的位置

我不确定我是否很好地解释了我的问题。我认为问题可能出在我使用
UITableView
的方式上,但我不确定应该如何使用它来改善这一点


干杯

如果只在核心数据中存储文章标题,我认为它可以处理25000个标题

然而,我认为您遇到的问题是表中可见元素的分页

这是我用来处理你要求的事情的一个例子。为了使用核心数据和远程源,您必须稍微调整一下


如果可以的话,请发布一些代码,这样我们就可以看一看。

我也在努力解决这个问题,到目前为止还没有什么希望。我觉得你实际上不需要无限滚动(表视图支持这么多行),除非你真的需要数据来计算行高。你如何计算新的偏移量与旧的偏移量?听起来这是唯一的问题了