私のドキュメントベースのアプリケーションでは、やり直しと元に戻す動作をNSUndoManager
.
NSToolbarItems
canRedo
およびに基づいて、元に戻す/やり直しを自動的に有効または無効にしたいcanUndo
(デフォルト メニューのように) (私NSToolbarItems
はイメージ ベースで- (BOOL)validateToolbarItem:(NSToolbarItem *)theItem
はないため、呼び出されません)
1)有効値をにバインドしようとしましたself(My WC).document.undoManager.canUndo / self(My WC).document.undoManager.canRedo
canUndo と canRedo は変数ベースではなく、単なるメソッドであるため、機能しません
2) WC の canUndo と canRedo に 2 つのプロパティを追加しました。これらは手元で変更しname:NSUndoManagerDidUndoChangeNotification
ますname:NSUndoManagerDidRedoChangeNotification
が、アクションを NSUndoManager に追加しただけでは呼び出されないため、最初のやり直しまたは元に戻すアクションを実行する必要があります。望ましい動作を得る