Я хочу добавить диспетчер отмены в приложение iphone с резервными данными. Когда пользователь пытается добавить новый объект (нажав кнопку +), я загружаю новый модальный контроллер просмотра и запускаю новую группу отмены в viewDidLoad.
Когда пользователь нажимает кнопку «Отмена», я хочу отменить изменения в обратном вызове cancelAction .
Запросы:
Сообщение об ошибке:
* Завершение работы приложения из-за неперехваченного исключения «NSInternalInconsistencyException», причина: «_endUndoGroupRemovingIfEmpty :: NSUndoManager 0x75415f0 находится в недопустимом состоянии, endUndo без соответствия begin
Пример кода:
// RootViewController.m
- (void) addAction {
// Load Modal View Controller to add new object
}
// AddViewController.m
- (void) viewDidLoad {
// Start nested undo group
[self.managedObjectContext processPendingChanges];
[self.managedObjectContext.undoManager beginUndoGrouping];
[self createModel];
}
- (void) cancelAction {
// Revert all changes
[self.managedObjectContext processPendingChanges];
[self.managedObjectContext.undoManager endUndoGrouping];
[self.managedObjectContext.undoManager undoNestedGroup];
...
}
- (void) saveAction {
// Save changes
}