Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何以编程方式退出mac应用程序?_Objective C_Cocoa_Macos - Fatal编程技术网

Objective c 如何以编程方式退出mac应用程序?

Objective c 如何以编程方式退出mac应用程序?,objective-c,cocoa,macos,Objective C,Cocoa,Macos,我需要在我的应用程序中添加一个退出按钮,该按钮从mac中的菜单栏运行。 如何以编程方式退出mac中的应用程序?请尝试以下操作: [[NSApplication sharedApplication] terminate:self]; [NSApp terminate: nil]; 有一个更简单的表单可以从代码中退出: [NSApp terminate:self]; 但在添加按钮时,您所要做的就是控制从按钮到应用程序图标的拖动,并连接方法terminate: 在某些情况下,当调用[NSApp

我需要在我的应用程序中添加一个退出按钮,该按钮从mac中的菜单栏运行。 如何以编程方式退出mac中的应用程序?

请尝试以下操作:

[[NSApplication sharedApplication] terminate:self];
[NSApp terminate: nil];

有一个更简单的表单可以从代码中退出:

[NSApp terminate:self];
但在添加按钮时,您所要做的就是控制从按钮到应用程序图标的拖动,并连接方法
terminate:


在某些情况下,当调用
[NSApp terminate:self]时,您无法关闭应用程序。就像在文档窗口中将NSAlert显示为工作表一样(
NSAlert-beginSheetModalForWindow:completionHandler:

您可以在呼叫终止前关闭所有窗口并发出警报,如以下代码所示:

for (NSWindow *window in [NSApplication sharedApplication].windows) {
    [window close];
}
[NSApp terminate:self];

我将在代码中添加我的按钮,但也感谢您提供的替代解决方案。好奇的是,这个答案指的是什么IDE?请注意,在较新版本的Xcode中,您应该在按钮和文件所有者占位符之间创建一个出口,而不是在应用程序之间。这与
[NSApp terminate:self]有什么区别?没有区别,
NSApp
[NSApplication sharedApplication]
相同。哇,太快了!谢谢
NSApplication
windows
属性还可以返回什么作为
NSWindow
实例?@vadian哦,是的,你是对的,windows只是返回NSWindow。我将编辑代码