undo と redo をやってみる。
まずアクションメソッドを用意する。
- (IBAction)undoAction:sender
{
[self.managedObjectContext undo];
}
- (IBAction)redoAction:sender
{
[self.managedObjectContext redo];
}
Interface Builder を開き、Undo/Redoのボタンを追加する。これを先程のメソッドに紐づける。
実行する。確かに Undo/Redo が効いている。なお標準でメニューのUndo/Redoが FirstResponderにひもづけられており、実は今回のボタンを用意しなくてもメニューから Undo/Redoが行えた。
save と rollback の関係だが次のようになっていた。
(1) save後、Undo/Redo操作 は行える
(2) rollback後、Undo/Redo操作は行えない(操作履歴がクリアされる)