deshacer todos los cambios realizados en el controlador de vista secundaria

Hay dos entidades: Autor y Libro. El autor tiene un atributo authorName y muchos libros de relaciones. El libro tiene varios atributos y una relación de autor. Hay un controlador de vista (VCAuthor) para editar un objeto Autor. El controlador de vista secundaria (VCBook) es para editar libros del autor. Solo hay un contexto de objeto gestionado. En el grupo de clase VCBook, el administrador de archivos de la siguiente manera

<code>-(void)viewDidLoad
{    
    NSUndoManager *anUndoManager = [[NSUndoManager  alloc] init];
    [self.book.managedObjectContext setUndoManager:anUndoManager];
    [anUndoManager release];
    [self.book.managedObjectContext.undoManager beginUndoGrouping];
}

-(void)cancelAction:(id)sender
{
    NSLog(@"%@", self.author.authorName);
    [self.book.managedObjectContext.undoManager endUndoGrouping];
    [self.book.managedObjectContext.undoManager undoNestedGroup];
    self.book.managedObjectContext.undoManager = nil;
    NSLog(@"%@", self.author.authorName);    
    [self dismissModalViewControllerAnimated:YES];  
}
</code>

cancelAction está vinculado a un botón de cancelación en el VCBook que solía deshacer todos los cambios realizados en el VCBook.

Los problemas están aquí: primero, en el VCAutor, edito el nombre de autor en un Nombre de autor y campo de autor de la UIT de Obama a Gran Obama, y ​​lo guardo en el MOC por author.authorName = authorNameTextField.text en la vista (void). método {} Luego entré en el controlador de vista infantil VCBook para editar libros del autor y hacer clic en el botón de cancelar para volver a la VCAuthor. Considero que el nombre de autor aún es Obama, lo que significa que el cambio esperado del nombre de autor ha sido deshacer. El cambio del nombre de autor no está en absoluto en el grupo de deshacer, ¿y por qué podría suceder esto? PD. por supuesto recargo los datos cuando vuelvo a VCAuthor. Acabo de registrar el nombre de autor antes y después de deshacer. Antes de deshacer, el nombre del autor es el Big Obama cambiado, y después de deshacer se convierte en Obama

Respuestas a la pregunta(1)

Su respuesta a la pregunta