Чистый способ сохранить наблюдателей на объектах CoreData? - PullRequest
0 голосов
/ 23 сентября 2011

Мне интересно, можно ли было бы сохранить и восстановить наблюдатель keyPaths сущностей CoreData.

Пример: у меня 300 сотрудников в моем managedObjectContext.Когда я вставляю их в первый раз, я вызываю addObserver: .. для всех из них, чтобы некоторый объект получал уведомление, если someValue изменяется.

Теперь я вызываю saveAction: для сохранения.Я закрываю приложение.Когда я перезагружаюсь, какой хороший способ восстановить 300-кратный addObserver?

Спасибо.С уважением.

РЕДАКТИРОВАТЬ: Ака, каков наилучший способ добавления наблюдателей при разархивировании сущностей CoreData?Пользовательский init () в классе модели?просто получить все сущности Employee в цикле for, а затем вызвать addObserver для них?

1 Ответ

2 голосов
/ 23 сентября 2011

Кажется, что лучший способ сделать такие вещи - это подкласс NSManagedObject для вашей сущности Employee и переопределить методы awakeFromFetch и awakeFromInsert. awakeFromInsert вызывается при первой вставке сущности, поэтому вы можете переместить существующий код, чтобы добавить туда наблюдателей. В awakeFromFetch вы добавляете наблюдателей при извлечении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...