XCode 6で最初のSwift OS/Xアプリケーションを作成しました。アプリを終了する方法がわからない場合を除き、すべて動作します。終了ボタンとExitNow
関数は次のように定義されています。
@IBAction func ExitNow(sender: AnyObject) {
// ???
}
コードがどうなるかわかりません。オンラインで検索すると、さまざまなオプションが見つかりましたが、それらはObjective Cに含まれているか、または一般的すぎて理解できませんでした。 cmd-Q
と同じように動作する例に感謝します。
グローバルNSApp
オブジェクトで terminate を呼び出すことができるはずです。
@IBAction func ExitNow(sender: AnyObject) {
NSApplication.sharedApplication().terminate(self)
}
EditSwift 3を使用すると、コードは次のようになります。
@IBAction func ExitNow(sender: AnyObject) {
NSApplication.shared().terminate(self)
}
Edit 2Swift 4&5でコードは次のようになります:
@IBAction func ExitNow(sender: AnyObject) {
NSApplication.shared.terminate(self)
}
または、次のようにアプリを終了することもできます。
@IBAction func ExitNow(sender: AnyObject) {
exit(0)
}
補足として、エラーのために終了することができます:
fatalError("reason for exiting")
無条件にメッセージを出力し、実行を停止します。 iOS 8.1以降。
Xcode 9.0では、NSApp.terminate(nil)を使用できます。