繁体   English   中英

NSWindow关闭时退出应用程序

[英]Quit app when NSWindow closes

当主(唯一)关闭时,如何正确退出Mac OS X应用程序?

我知道在NSWindowDelegate有一个方法- (void)windowWillClose:(NSNotification *)notification 但它在我的情况下并不合适,因为它 NSWindow关闭之前被调用。

你不能拥有windowDidClose事件,因为伴随它的通知将持有一个无效的对象(该窗口很可能在关闭时被释放)。 要实现您的需要,请将您的类作为Application的委托,并实现以下方法:

- (BOOL) applicationShouldTerminateAfterLastWindowClosed: (NSApplication *) theApplication;

从该方法,返回YES

如果您的控制器对象在MainMenu.nib有一个实例,只需从File的Owner(这意味着MainMenu.nob文件中的Application Object)建立连接。 控制 - 从文件所有者拖动到您的对象,并连接代理插座。

或者在源代码中,在控制器对象的init方法中输入这样的内容:

[NSApp setDelegate: self];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM