显示来自 Core Data 的大量数据

Displaying a large amount of data from Core Data

我有这样一个任务摆在面前:数据库中有10000多条记录,我需要在table视图中显示它们,但我不能把所有10000条都取出来存储在array 如何组织工作,例如,当在 table 视图中滚动 100 条记录时,从数据库中下载接下来的 100 条条目。

我找到了 fetchLimit 和 fetchOffset 之类的东西,但我仍然不明白如何将它们用于我的任务。

你会告诉我什么?

我相信如果您正在使用 Core Data 并且您需要 UITableView,您应该勇敢地使用 NSFetched​Results​Controller

来自 Apple 文档。

You use a fetched results controller to efficiently manage the results returned from a Core Data fetch request to provide data for a UITable​View object.

通过使用这种方法,您将默认使用缓存来提高性能。此外,当核心数据中的某些记录将被更改或添加时,您将动态更新 UITableView

另外,要按部分获取数据,您可以修改 NSFetchRequest 并为每个请求设置 fetchLimit

Example 的简单 NSFetched​Results​Controller 实现。