当主(唯一)关闭时,如何正确退出Mac OS X应用程序?
我知道有一种方法- (void)windowWillClose:(NSNotification *)notification在NSWindowDelegate.但它在我的情况下不太合适,因为它在 NSWindow关闭之前被调用.
小智 28
您不能拥有windowDidClose事件,因为伴随它的通知将持有一个无效的对象(该窗口很可能在关闭时被释放).要实现您的需要,请将您的类作为Application的委托,并实现以下方法:
- (BOOL) applicationShouldTerminateAfterLastWindowClosed: (NSApplication *) theApplication;
Run Code Online (Sandbox Code Playgroud)
从那个方法,返回YES.
如果您的控制器对象中有一个实例MainMenu.nib,只需从File的Owner(这意味着MainMenu.nob文件中的Application Object)建立连接.控制 - 从文件所有者拖动到您的对象,并连接代理插座.
或者在源代码中,在控制器对象的init方法中输入这样的内容:
[NSApp setDelegate: self];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3368 次 |
| 最近记录: |