我正在编写一个非基于NSDocument
的应用程序,其风格类似于AddressBook.app。它有一个位于MainMenu.nib
的窗口。
目前,我正在努力将NSUndoManager
与此应用程序集成。如果我创建NSUndoManager
的实例并将其存储到我的AppController
类的实例变量中,则在向管理员注册撤消时,不会启用“撤消”菜单项。
为了将NSUndoManager
实例连接到菜单项并让它管理窗口的脏状态,我该怎么做?
答案 0 :(得分:4)
您可以在AppDelegate类中创建撤消管理器作为类的成员。然后将AppDelegate设置为接口构建器中窗口的委托。之后,在AppDelegate中编写此方法:
- (NSUndoManager*) windowWillReturnUndoManager: (NSWindow*) window
{
< return the undo manager created >
}