Создание нового NSManagedObject в NSPersistentDocument отказывается сохранять, даже если отмена показывает, насколько это возможно - PullRequest
0 голосов
/ 29 июня 2011

У меня есть приложение CoreData / NSPersistentDoc.Он работает нормально.

Я добавил новую сущность в MOM и обновил версию.

Теперь, когда я создаю новые экземпляры этой сущности внутри MOC, пункт меню «Сохранить»остается отключенным до тех пор, пока я не создам экземпляры старых сущностей, которые уже были в приложении.

Красная точка на заголовке заголовка правильно становится черной, показывая, что документ изменился, но OS X / NSDocument отказываетсяпризнать это - невозможно сделать сохранение.

Есть идеи?

1 Ответ

0 голосов
/ 03 июля 2011

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

Я использовал официальный подход Apple для включения пунктов меню «Копировать / Вставить» (путем реализации validateMenuItem) и возврата true / false для копирования и вставки в нужное время.

И я возвращал реализацию NSPersistentDocument для всего остального (включая сохранение, хотя я этого не видел).

Затем, когда я добавил свой новый NSManagedObject, я добавил вспомогательное представление и вспомогательное представление-контроллер, и я делегировал validateMenuItem этому - то есть, чтобы он мог обрабатывать свой собственный статус копирования / вставки.

... но у меня не было пути к коду для "если это не копирование и вставка, и оно не обрабатывается дочерним элементом, и оно не обрабатывается моим подклассом NSPersistenDocument ... затем передайте его NSPersistentDocument для принятия решения" ...

... и поэтому пункт меню Сохранить никогда не был включен.

...