我正在写一个非基于NSDocument
的应用程序,其样式类似于AddressBook.app。它在MainMenu.nib
中有一个窗口。
目前,我正在努力将NSUndoManager
与该应用程序集成。如果创建NSUndoManager
的实例并将其存储到我的AppController
类的实例变量中,则在向管理器注册撤消操作时不会启用“撤消”菜单项。
为了将NSUndoManager
实例连接到菜单项并管理窗口的脏状态,我该怎么办?
最佳答案
您可以在AppDelegate类中创建撤消管理器作为该类的成员,然后在接口构建器中将AppDelegate设置为窗口的委托。之后,在AppDelegate中编写以下方法:
- (NSUndoManager*) windowWillReturnUndoManager: (NSWindow*) window
{
< return the undo manager created >
}
关于macos - 非基于文档的应用程序中的NSUndoManager,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11181573/