退出xcode可可swift应用程序

时间:2014-08-12 21:45:12

标签: macos cocoa swift

我已经在XCode 6中编写了我的第一个swift OS / X应用程序。除了我无法弄清楚如何退出应用程序之外,一切正常。我有一个退出按钮,ExitNow函数定义如下:

@IBAction func ExitNow(sender: AnyObject) {
    // ???
}

我无法弄清楚代码是什么。通过在线搜索,我发现了各种选项,但它们要么是在Objective C中,要么是过于笼统,我无法理解。我希望得到一个与cmd-Q行为相同的例子。

3 个答案:

答案 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)。