我正在構建具有「清單」功能的應用程序。覈對清單項目存儲爲核心數據實體。在Datamodel中還有一個存儲爲BOOL
的'checked'屬性。處理該清單功能的視圖控制器基於UITableViewController
。如何一次更改Core Data中所有實體的屬性值?
基本上,我想實現UIRefreshControl
,它允許用戶重置核心數據中所有檢查列表實體的'checked'狀態。例如,一旦用戶拉下UITableView
,所有項目都將被重置並顯示爲「未選中」。
但是,NSFetchedResultsController
只能通過[fetchedResultsController objectAtIndexPath:indexPath]
一次提供對一個實體的訪問權限。是否有辦法從核心數據中獲取整個實體集合,如NSArray
或NSDictionary
,因此我可以枚舉所有實體並更改其「checked」屬性?
謝謝。我專注於使用NSFetchedResultsController,忘記了可以直接通過managedObjectContext本身獲取所有對象。 – Kann 2013-02-18 14:56:35
然後你可以在數組上調用'makeObjectsPerformSelector:withObject:'。但是如果數組中有很多對象,這可能需要一段時間。 – newenglander 2016-06-03 07:53:06