web-dev-qa-db-fra.com

Quel est le point d’entrée de Swift?)

Il n'y a pas de méthode main() dans Swift. Le programme doit commencer l'exécution de quelque part. Alors, quel est le point d’entrée de l’exécution du code Swift) et comment décide-t-on?

93
Selvin

Le point d’entrée dans un module Swift module est le fichier dans le module appelé main.Swift. main.Swift est le seul fichier autorisé à contenir des expressions et des déclarations au niveau supérieur (tous les autres Swift du module ne peuvent contenir que des déclarations).

Cocoa Touch utilise le @UIApplicationMain attribut sur une implémentation de UIApplicationDelegate au lieu d’un main.Swift fichier pour marquer le point d’entrée. Le cacao utilisait un minimum main.Swift fichier qui s’appelle simplement NSApplicationMain, mais à partir de Xcode 6.1 utilise le @NSApplicationMain attribut sur une implémentation de NSApplicationDelegate .

83
nathan

Dans le AppDelegate.Swift fichier que vous pouvez voir @UIApplicationMain.
AppDelegate est le fichier d'entrée initial.

Fondamentalement: main.m et AppDelegate.m sont un peu fusionnés dans Swift à juste AppDelegate.Swift

36
h0ussni

Vous voudrez peut-être lire fichiers et initialisation

L’exception est un fichier spécial appelé "main.Swift", qui se comporte presque comme un fichier de terrain de jeu, mais qui est construit avec le code source de votre application. Le fichier "main.Swift" peut contenir du code de niveau supérieur. Les règles dépendantes de l'ordre s'appliquent également. En effet, la première ligne de code à exécuter dans "main.Swift" est définie implicitement comme le point d'entrée principal du programme. Ceci permet au programme minimal Swift d'être une seule ligne - tant que cette ligne est dans "main.Swift".

Dans Xcode, les modèles Mac incluent par défaut un fichier "main.Swift", mais pour les applications iOS, la valeur par défaut pour les nouveaux modèles de projet iOS consiste à ajouter @UIApplicationMain à un fichier standard Swift. Un compilateur permet de synthétiser un point d’entrée principal pour votre application iOS et élimine le besoin d’un fichier "main.Swift".

Vous pouvez également établir une liaison dans une implémentation de main écrite en Objective-C, courante lors de la migration incrémentielle de projets d'Objective-C vers Swift.

25
onmyway133