2013-03-06 5 views
0

Мое приложение выполняет определенные действия в методе, прикрепленном к уведомлению NSManagedObjectContextDidSaveNotification (которое выполняется при сохранении). Он также использует NSUndoManager, который успешно отменяет/повторяет. Я ожидал, что уведомление «сохранить» будет поднято всякий раз, когда произошел откат или повтор (в случаях, когда отмена/повторное использование повлияла на хранилище основных данных), но это, похоже, не происходит.NSUndoManager, похоже, не отправляет NSManagedObjectContextDidSaveNotification при отмене или повторении

Можно ли ожидать, что NSManagedObjectContextDidSaveNotification будет отправлен на отмену/повтор? Если нет, есть ли способ определить, что было отменено/отменено после факта (NSUndoManagerDidUndoChangeNotification, похоже, не раскрывает эту информацию)?

ответ

0

Кажется, я ошибался в своем предположении, что отмена/повторение должны иметь какое-либо отношение к экономии NSManagedObjectContext.

Поскольку мое приложение автоматически сохраняет память, мой осажденный мозг думал, что отмена/повтор будет автоматически сохранена. Ясно, что это не так.

Теперь я наблюдаю за уведомлениями NSUndoManagerDidUndoChangeNotification и NSUndoManagerDidRedoChangeNotification и сохраняет их вручную, которые (в настоящее время) дают мне поведение, которое я ожидаю.