Взгляните на KVO (Наблюдение значения ключа): Руководство по программированию наблюдения значения ключа . Это стандартный способ сделать это в Какао, и это фундаментальная технология, которую вы должны понимать, чтобы быть хорошим программистом Какао.
KVO позволит объектам, которые заботятся об изменениях в свойстве Account
(который вы, вероятно, следует назвать account
, а не Account
), получать уведомление при изменении свойства. KVO будет «просто работать» для стандартных NSManagedObjects, без каких-либо дополнительных действий с вашей стороны.
Соответствующие методы следующие:
-addObserver:forKeyPath:options:context:
, который вы вызываете для своего объекта Config для настройки наблюдения
-observeValueForKeyPath:ofObject:change:context:
, который будет вызываться на объекте-наблюдателе при каждом изменении наблюдаемого значения
-removeObserver:forKeyPath:
, который вы должны убедиться, что звоните, когда наблюдателю больше не нужны уведомления об изменениях (в том числе до того, как наблюдатель будет освобожден).
Все это более подробно описано в связанной документации.
РЕДАКТИРОВАТЬ НИЖЕ:
Не зная ничего о вашем приложении, трудно понять, почему вы хотите получать уведомления только после сохранения. NSManagedObjectContext отправляет NSManagedObjectContextWillSaveNotification и NSManagedObjectContextDidSaveNotification. В userInfo уведомления есть массивы, содержащие вставленные, обновленные и удаленные объекты, но уведомления не так детализированы, как отдельные свойства. Я полагаю, вы могли бы вручную отслеживать изменения учетных записей между уведомлениями didSave. Это, вероятно, станет неэффективным, если в вашем магазине будет много Конфигов.
Изменения в NSManagedObjects являются немедленными, они просто не сохраняются в постоянном хранилище, пока вы не вызовете save:
в контексте управляемого объекта. Возможно, если вы объясните больше о том, чего именно вы пытаетесь достичь и почему, я могу помочь вам лучше.