NSManagedObjectContextObjectsWillChangeNotification - PullRequest
0 голосов
/ 14 февраля 2009

Мне нужно что-то вроде , противоположное NSManagedObjectContextObjects Did ChangeNotification. Что-то вроде NSManagedObjectContextObjects Will ChangeNotification. Я думаю, что это решило бы эту проблему (stackoverflow-question).
Важно, чтобы он уведомлял до , что он удаляет объект (в этой задаче) для достаточно раннего изменения выбранного NSMenuItem. ;)

Ответы [ 2 ]

1 голос
/ 16 ноября 2009

Если ваше приложение только 10.6, ознакомьтесь с [NSManagedObject prepareForDeletion] в документации Apple. Другой возможный подход заключается в реализации «validateForDelete:» в NSManagedObject. Это вызывается на этапе проверки, когда контекст сохраняется. Обязательно вызовите super как часть вашей реализации.

0 голосов
/ 15 февраля 2009

Я не думаю, что можно получить уведомление до удаления объекта. Однако в словаре userInfo для NSManagedObjectContextObjectsDidChangeNotification есть ключ с именем NSDeletedObjectsKey, который даст вам все объекты, которые были удалены. Теперь слово «удалено» немного сложнее, поскольку технически эти объекты помечены как для удаления. Их атрибуты по-прежнему доступны вам, если вам по каким-то причинам они понадобятся.

Что касается вашей другой проблемы, я думаю, что человек, который ответил на этот вопрос, прав. Вы должны смотреть на NSArrayController, к которому вы привязали всплывающую кнопку, а не на саму кнопку всплывающего окна. Это связано с как вы удаляете объект. Если вы все делаете правильно, всплывающая кнопка будет наблюдать удаление автоматически. Казалось бы, ваша проблема связана с привязками, а не с базовыми данными.

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