Ich bin mir nicht sicher, welcher der richtige Weg ist, im Moment rufe ich nur exit(0)
, wenn ein Benutzer auf den Exit-Button klickt.Wie die Anwendung ordnungsgemäß beendet wird, rufen Sie exit (0) auf?
Antwort
Verwenden Sie NSApplication
terminate
Methode. Zum Beispiel:
[NSApp terminate:self]
Die Dokumentation ist verfügbar here.
Die zuvor gegebene Antwort wird seit 10.10 veraltet und diese Frage ist die erste Sache, die für Kakao taucht beenden Anwendung, so verwenden Sie diese stattdessen (Swift):
NSApplication.sharedApplication().terminate(self)
Hinweis: Ab jetzt ist es folgendes:
NSApplication.shared().terminate(self)
Was ist veraltet? Die Verwendung von 'NSApp'? "NSApp" scheint immer noch verfügbar zu sein und wird in der Dokumentation nicht als veraltet markiert ... – mipadi
Weil ich das einfach nochmal machen musste: Die ursprüngliche Art, es zu tun, ergibt: 'static member 'sharedApplication' kann nicht in der Instanz verwendet werden vom Typ 'NSApplication'. PS: Beachten Sie, dass ich den Kommentar oben geschrieben habe, als Swift noch ziemlich instabil war, und besonders Xcode war skurril. Die Fehlermeldung könnte also zu der Zeit anders sein. –
Ich beende immer App auf sichere Weise.
[NSApp performSelector:@selector(terminate:) withObject:nil afterDelay:0.0];
Dies bringt das Ereignis in die nächste Schleife.
Vergessen Sie nicht, Ihre Schaltfläche "Quit", nicht "Exit" zu titeln. –