Cómo deshacer el text del portapapeles con NSManager

Estoy implementando NSUndoManager con un control UITextView. Si quiero deshacer el último cambio de text, puedo hacerlo con

// NSUndoManager *myUndoManager; Declanetworking in the header if (myUndoManager.canUndo) { [myUndoManager undo]; } 

Eso es bastante simple. Si, sin embargo, inserto el text del portapapeles en el control TextView como el siguiente, myUndoManager.canUndo está vacío.

 textview1.text = [[UIPasteboard generalPasteboard] string]; 

¿Es posible deshacer los cambios de text cuando se utiliza el text del portapapeles?

Gracias por tu ayuda.

Creo que solo necesito agregar text a la stack manualmente.

 - (IBAction)goClicked1:(id)sender { NSString *pastetext = [[UIPasteboard generalPasteboard] string]; [self setText:pastetext]; } - (void)setText:(NSString *)str { NSUndoManager *undoManager = [self undoManager]; NSString *oldtext = textview1.text; [[undoManager prepareWithInvocationTarget:self] setText:oldtext]; textview1.text = str; }