2

我现在正在阅读文档一小时后,仍然没有理解NSFetchedResultsController. 它是替代品UITableViewController吗?还是UITableViewController使用NSFetchedResultsController? 是NSFetchedResultsController数据源吗?它是什么?

4

1 回答 1

9

NSFetchedResultsController将您在为表提供数据时需要执行的所有核心数据获取相关功能捆绑在一起。它封装了很多与表格相关的常用功能,因此您不必手动管理它们。它充当 tableview 控制器和基于 Core Data 的数据模型之间的软件接口。

表格视图需要结构化列表中提供的数据。他们需要管理和显示大量数据。当数据本身在幕后发生变化时,他们需要更新他们的显示。NSFetchedResultsController通过以下方式协助所有这一切:

  1. 除了 fetches 完成的所有排序和排序之外,它还自动获取和管理部分,因此您不必仅为部分执行单独的提取。
  2. 它缓存获取结果,使表格的显示速度更快。
  3. 它监视核心数据图并通知它的委托,通常是 tableview 控制器,如果表需要重新加载它的数据。这在从 URL 加载数据等情况下非常有用。如果数据不断变化,如果您不使用NSFetchedResultsController.

你不必使用它。如果您愿意,您可以手动完成所有这些操作。如果您不在数据模型中使用 Core Data,那么您就不要使用它。

于 2010-04-10T12:38:27.930 回答