Come menzionato nel release notes:
OS X applicazioni possono ora applicare l'attributo @NSApplicationMain alla loro app classe delegato al fine di generare un implicito principale per l'applicazione. Questo attributo funziona nello stesso modo come attributo @UIApplicationMain per le applicazioni iOS."
Quindi, in sostanza, è un modo di ottenere la vostra applicazione bootstrap e funzionante, senza dover scrivere qualche testo standard a livello globale in un separato . file di Swift Nelle precedenti versioni di Xcode, quando è stato creato un nuovo progetto Swift cacao, Xcode genererebbe un file main.swift
per un nuovo progetto OS X che si presentava così:
import Cocoa
NSApplicationMain(Process.argc, Process.unsafeArgv)
E questo è stato il punto di ingresso principale. Ora Xcode non si preoccupa di generare questo file, ma semplicemente codifica il delegato dell'app con @NSApplicationMain
e questo passaggio di avvio viene gestito dietro le quinte.
Informazioni da The Swift Programming Language:
Applicare questo attributo a una classe per indicare che è il delegato applicazione. L'uso di questo attributo equivale a chiamare la funzione NSApplicationMain
e passare il nome di questa classe come nome della classe delegata.
Se non si utilizza questo attributo, fornire un file main.swift
con una funzione main
che chiama la funzione NSApplicationMain
. Ad esempio, se la tua app utilizza una sottoclasse personalizzata di NSApplication
come sua classe principale, chiama la funzione NSApplicationMain
invece di utilizzare questo attributo.
fonte
2014-12-14 13:11:37
Possibile duplicato: http://stackoverflow.com/questions/24516250/what-does-uiapplicationmain-mean (questo è per iOS' '@ UIApplicationMain' ma lo stesso vale per' @ NSApplicationMain' in OSX) – Alladinian