我已经在XCode 6中编写了我的第一个swift OS / X应用程序。除了我无法弄清楚如何退出应用程序之外,一切正常。我有一个退出按钮,ExitNow
函数定义如下:
@IBAction func ExitNow(sender: AnyObject) {
// ???
}
我无法弄清楚代码是什么。通过在线搜索,我发现了各种选项,但它们要么是在Objective C中,要么是过于笼统,我无法理解。我希望得到一个与cmd-Q
行为相同的例子。
答案 0 :(得分:64)
您应该只能在全局NSApp
对象上调用terminate。
@IBAction func ExitNow(sender: AnyObject) {
NSApplication.sharedApplication().terminate(self)
}
编辑使用Swift 3,代码现在是:
@IBAction func ExitNow(sender: AnyObject) {
NSApplication.shared().terminate(self)
}
编辑2 使用Swift 4& 5代码现在是:
@IBAction func ExitNow(sender: AnyObject) {
NSApplication.shared.terminate(self)
}
答案 1 :(得分:13)
或者我们可以像这样退出应用程序:
@IBAction func ExitNow(sender: AnyObject) {
exit(0)
}
作为旁注,您可以因错误退出:
fatalError("reason for exiting")
无条件地打印消息并停止执行。 iOS 8.1及更高版本。
答案 2 :(得分:2)
在Xcode 9.0中,您可以使用NSApp.terminate(nil)。