Я бы не назвал это плохим, но определенно "тяжелым".
Было бы меньше памяти и ЦП, чтобы следить за сохранением через NSManagedObjectContextDidSaveNotification
и делать там вычисления. Уведомление будет содержать три NSArray
экземпляра в его userInfo
, и затем вы сможете использовать простое NSPredicate
для этих массивов, чтобы увидеть, изменился ли какой-либо сотрудник, который вам нужен, и ответить.
Это часть того, что NSFetchedResultsController
делает под одеялом. Однако вам следует избегать других частей NSFetchedResultsController
, которые вам не нужны или вам не нужны.
Тяжелый
NSFetchedResultsController
выполняет больше операций, чем просто следит за сохраненными объектами. Он обрабатывает дельты, звонит своим делегатам и т. Д. Я не говорю, что это плохо в любой форме или форме. Я хочу сказать, что если вы только заботитесь о том, когда объекты изменились в ваших отношениях, вы можете сделать это довольно легко, просто наблюдая за уведомлениями.
Память
Кроме того, нет никаких причин сохранять что-либо, поскольку вы уже держитесь за сущность «Отдел» и, следовательно, получаете доступ к ее отношениям. Держать дочерние объекты «на всякий случай» - пустая трата памяти. Позвольте Core Data управлять памятью, что является одной из причин ее использования.