отказаться от приложения xcode для быстрого конвертирования cocoa
Я написал свое первое быстрое приложение OS/X в XCode 6. Все работает, но я не могу понять, как выйти из приложения. У меня есть кнопка для выхода, а функция ExitNow
определена следующим образом:
@IBAction func ExitNow(sender: AnyObject) {
// ???
}
Я не могу понять, какой будет код. При поиске в Интернете я нашел различные варианты, но они были либо в Objective C, либо слишком общие для меня, чтобы понять. Я был бы признателен за пример, который будет вести себя так же, как cmd-Q
.
Ответы
Ответ 1
Вы должны иметь возможность просто вызывать терминатор для глобального объекта NSApp
.
@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)
}
Ответ 2
Или мы могли бы просто выйти из приложения следующим образом:
@IBAction func ExitNow(sender: AnyObject) {
exit(0)
}
В качестве побочной заметки вы можете выйти из-за ошибки:
fatalError("reason for exiting")
Безусловно печатает сообщение и прекращает выполнение. iOS 8.1 и более поздних версий.
Ответ 3
В Xcode 9.0 вы можете использовать NSApp.terminate(nil).