回答

9

NSFetchedResultsController將提供數據時需要執行的所有核心數據提取相關函數捆綁在一起。它封裝了許多與表相關的常用功能,因此您無需手動管理它們。它用作tableview控制器和基於Core Data的數據模型之間的軟件接口。

表格需要結構化列表中提供的數據。他們需要管理和顯示大量數據。當數據本身在幕後改變時,他們需要更新他們的顯示。 NSFetchedResultsController幫助了所有這一切:

  1. 除了所有的訂購和取排序完成,它獲取並自動管理的部分,這樣你就不必執行單獨的讀取只是部分。
  2. 它緩存讀取結果,使表格顯示更快。
  3. 它監視核心數據圖並通知其代表(通常是tableview控制器)該表是否需要重新加載其數據。這在加載來自URL的數據等情況下非常有用。如果數據不斷變化,如果您不使用NSFetchedResultsController,則必須不斷獲取並檢查結果。

您不必使用它。如果你願意,你可以手工完成這一切。如果您在數據模型中不使用Core Data,那麼您不會使用它。

相關問題