我终于在OSX上尝试了故事板,并且对生成的项目的结构感到困惑。 基本上,我想知道windowWillReturnUndoManager
应该如何作为应用程序委托的一部分工作。
-
(NSUndoManager *)windowWillReturnUndoManager:(NSWindow *)window
。NSWindowDelegate
。尝试将AppDelegate设置为窗口委托会给我带来一些问题。
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
。我可以通过定义mainWindow
ivar并使用像......这样的代码来实现它。
- (void)applicationDidUpdate:(NSNotification *)aNotification {
if (!mainWindow) {
NSWindow *appWindow = [[NSApplication sharedApplication] mainWindow];
if (appWindow) {
mainWindow = appWindow;
[mainWindow setDelegate:self];
}
}
}
...它将委托设置为第四时间。对我来说,这似乎是一个荒谬的黑客。
这里的预期策略是什么?