在我的基于文档的应用程序中,我用NSUndoManager
实现了重做和撤消行为。
我想根据canRedo
和canUndo
自动启用或禁用撤消/重做NSToolbarItems
(如默认菜单中)(我的NSToolbarItems
不是基于映像的,因此不调用- (BOOL)validateToolbarItem:(NSToolbarItem *)theItem
)
1)我尝试将启用值绑定到self(My WC).document.undoManager.canUndo / self(My WC).document.undoManager.canRedo
不起作用,因为canUndo和canRedo不是基于变量的,而只是方法
2)我确实向我的WC canUndo和canRedo添加了两个属性,我在name:NSUndoManagerDidUndoChangeNotification
和name:NSUndoManagerDidRedoChangeNotification
手上修改了它们,但是当我只是向NSUndoManager添加操作时,它们没有被调用,所以我必须执行第一次重做或撤消操作,以获得所需的行为
密钥也在注册
NSUndoManagerCheckpointNotification
"撤消管理器打开或关闭新的撤消组"
当将操作添加到撤消管理器时调用