Я пытаюсь реализовать отмену поддержки с использованием Core Data на iPhone, и у меня возникло несколько проблем.Отменить управление с данными ядра
В настоящее время у меня есть пара управляемых объектов, но когда я вношу изменения в их свойства, эти изменения не записываются менеджером отмены. По моему мнению, Core Data, как предполагается, автоматически настраивается, и я должен иметь базовую отмену и повторную поддержку изменений, создания и удаления управляемых объектов.
Есть ли специальный способ внесения изменений в объекты, чтобы они регистрировались менеджером отмены? Или я должен регистрировать отмененные действия для каждого изменения?
Кроме того, предположим, что приложение скользит в подробный вид для редактирования определенного объекта. Я хотел бы иметь возможность отменить все изменения, сделанные, когда скажем, нажата кнопка отмены. Может быть, отменить группировку здесь? В чем разница между фиксацией группы и тем, что другой диспетчер отмены управляет более точными действиями в подробном представлении против использования только одного менеджера отмены (тот, который входит в контекст управляемого объекта)?
Спасибо!
Благодаря Бен +1, прекрасный сжатый ответ –
Я не создание или настройки менеджера отмены в моем коде, но Отменить работы за fectly. Контексты управляемых объектов уже имеют диспетчер отмены. Все, что нужно сделать, это заставить их делегат окна реализовать что-то вроде этого: '- (NSUndoManager *) windowWillReturnUndoManager: (NSWindow *) window { return [[DB managedObjectContext] undoManager]; } '. –
@ IvanVučica это правда при работе с фреймворками OSX, однако, когда вы работаете с фреймворками iOS, нет такой вещи, как NSWindow, и для облегченных причин управляемые объекты не поставляются с менеджером отмены. – Intentss