回答

9

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

表格需要结构化列表中提供的数据。他们需要管理和显示大量数据。当数据本身在幕后改变时,他们需要更新他们的显示。 NSFetchedResultsController帮助了所有这一切:

  1. 除了所有的订购和取排序完成,它获取并自动管理的部分,这样你就不必执行单独的读取只是部分。
  2. 它缓存读取结果,使表格显示更快。
  3. 它监视核心数据图并通知其代表(通常是tableview控制器)该表是否需要重新加载其数据。这在加载来自URL的数据等情况下非常有用。如果数据不断变化,如果您不使用NSFetchedResultsController,则必须不断获取并检查结果。

您不必使用它。如果你愿意,你可以手工完成这一切。如果您在数据模型中不使用Core Data,那么您不会使用它。

相关问题