web-dev-qa-db-fra.com

quitter xcode cacoa Swift app

J'ai écrit ma première Swift OS/X application dans XCode 6. Tout fonctionne sauf que je ne sais pas comment quitter l'application. J'ai un bouton pour quitter et le ExitNow fonction définie comme suit:

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

Je ne peux pas comprendre quel serait le code. En recherchant en ligne, j'ai trouvé diverses options, mais elles étaient soit dans l'objectif C, soit trop générales pour que je puisse les comprendre. J'apprécierais un exemple qui se comporterait de la même manière que cmd-Q.

28
Lanny Rosicky

Vous devriez pouvoir simplement appeler terminate sur l'objet global NSApp.

@IBAction func ExitNow(sender: AnyObject) {
    NSApplication.sharedApplication().terminate(self)
}

Modifier Avec Swift 3 le code est maintenant:

@IBAction func ExitNow(sender: AnyObject) {
    NSApplication.shared().terminate(self)
}

Edit 2 Avec Swift 4 & 5 le code est maintenant:

@IBAction func ExitNow(sender: AnyObject) {
    NSApplication.shared.terminate(self)
}
65
Mike S

Ou nous pouvons simplement quitter l'application comme ceci:

@IBAction func ExitNow(sender: AnyObject) {    
    exit(0)
}

En remarque, vous pouvez quitter en raison d'une erreur:

fatalError("reason for exiting")

Imprime inconditionnellement un message et arrête l'exécution. iOS 8.1 et versions ultérieures.

13
oyalhi

Dans Xcode 9.0, vous pouvez utiliser NSApp.terminate (nil).

2
Peter Ahlberg