desfazer todas as alterações feitas no controlador de exibição filho

Existem duas entidades: Autor e Livro. O autor possui um atributo authorName e muitos livros de relacionamentos. Livro tem vários atributos e um autor de relacionamento. Existe um controlador de visualização (VCAuthor) para editar um objeto Autor. O controlador de visão filho (VCBook) é para editar livros do autor. Existe apenas um managedobjectcontext. Na classe VCBook eu agrupo o undomanager da seguinte forma

<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>

O cancelAction está vinculado a um botão de cancelamento no VCBook que costumava desfazer todas as alterações feitas no VCBook.

Problemas estão aqui: Primeiro, no VCAuthor, eu edito o authorName em um authorNameTextField de UITextfiled de Obama para Big Obama e salve-o no MOC por author.authorName = authorNameTextField.text no - (void) viewWillDisappear: (BOOL) animated {} método. Então eu fui para o controlador de visão infantil VCBook para editar livros do autor e clique no botão cancelar para voltar ao VCAuthor. Eu acho que o authorName ainda é Obama, isso significa que a mudança esperada do authorName foi anulada. A alteração do authorName não está no grupo de desfazer, e por que isso aconteceu? ps. É claro que eu reloadData quando eu volto para o VCAuthor. Eu apenas NSLog o autorName antes e depois do desfazer. Antes desfazer o authorName é o mudado Big Obama, e depois desfazer ele se torna Obama

questionAnswers(1)

yourAnswerToTheQuestion