【发布时间】:2011-10-22 18:53:54
【问题描述】:
我需要向从 mac 菜单栏运行的应用程序添加退出按钮。 如何在 mac 中以编程方式退出应用程序?
【问题讨论】:
标签: objective-c cocoa macos
我需要向从 mac 菜单栏运行的应用程序添加退出按钮。 如何在 mac 中以编程方式退出应用程序?
【问题讨论】:
标签: objective-c cocoa macos
在某些情况下,您在调用[NSApp terminate:self]; 时无法关闭应用程序。就像在文档窗口 (NSAlert -beginSheetModalForWindow:completionHandler:) 上将 NSAlert 显示为工作表时一样...
您可以在呼叫终止前关闭所有窗口和警报,如以下代码:
for (NSWindow *window in [NSApplication sharedApplication].windows) {
[window close];
}
[NSApp terminate:self];
【讨论】:
NSWindow 实例windows 的NSApplication 属性还能返回什么?
有一种更简单的形式可以从代码中退出:
[NSApp terminate:self];
但是当您添加一个按钮时,您所要做的就是控制从您的按钮拖动到应用程序图标并连接方法terminate:。
【讨论】:
尝试以下方法:
[NSApp terminate: nil];
【讨论】:
[[NSApplication sharedApplication] terminate:self];
【讨论】:
[NSApp terminate:self];有什么区别?
NSApp和[NSApplication sharedApplication]一样。