简而言之,NSFetchedResultsController是如何使用的?

don*_*ile 2 core-data objective-c uitableview nsfetchedresultscontroller ios

我现在正在阅读一小时通过文档,但仍然没有明确指出NSFetchedResultsController.它是替代品UITableViewController吗?或者是UITableViewController使用NSFetchedResultsController?是NSFetchedResultsController数据源吗?它是什么?

Tec*_*Zen 9

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

Tableviews需要结构化列表中提供的数据.他们需要管理和显示大量数据.当数据本身在幕后发生变化时,他们需要更新显示.NSFetchedResultsController协助所有这些:

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

你不必使用它.如果你愿意,你可以手工完成所有这些.如果您不在数据模型中使用Core Data,则不要使用它.