Я создаю приложение, имеющее функциональность «контрольный список». Элемент контрольного списка хранится как объект Core Data. В Datamodel есть атрибут 'checked', который хранится как BOOL
. Контроллер вида, обрабатывающий эту функциональность контрольного списка, основан на UITableViewController
.Как изменить значение атрибута всех объектов в Core Data одновременно?
В принципе, я хотел бы реализовать UIRefreshControl
, которые позволяют пользователям сбросить статус «проверено» всех объектов контрольного списка в Core Data. Например, все элементы будут сброшены и отображены как «не отмеченные», как только пользователь вытащит UITableView
.
Однако NSFetchedResultsController
обеспечивает доступ только к одному объекту за один раз через [fetchedResultsController objectAtIndexPath:indexPath]
. Будет ли способ получить всю совокупность объектов из Core Data как NSArray
или NSDictionary
, поэтому я мог бы перечислить все сущности и изменить их атрибут «checked»?
Спасибо. Я сосредоточился на использовании NSFetchedResultsController и забыл, что можно получить весь объект непосредственно через сам управляемый объект. – Kann
И тогда вы можете вызвать 'makeObjectsPerformSelector: withObject:' в массиве. Но это может занять некоторое время, если у вас много объектов в массиве. – newenglander