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

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

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

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

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

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

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

干杯

解决方法

如果您只在Core Data中存储文章标题,我认为它可以处理25.000个标题.

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

这是我用来处理你要求的东西的link.您将不得不稍微调整一下以使用Core Data和远程源.

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

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...