Quel est le point d’entrée de l’exécution rapide du code?

Il n’y a pas de méthode main() dans swift. Le programme doit commencer l’exécution à partir de quelque part. Alors, quel est le point d’entrée de l’exécution rapide du code et comment est-il décidé?

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

Cocoa Touch utilise l’ atsortingbut @UIApplicationMain sur une implémentation de UIApplicationDelegate au lieu d’un fichier main.swift pour marquer le point d’entrée. Cocoa utilisait un fichier main.swift minimal qui s’appelait simplement NSApplicationMain , mais à partir de Xcode 6.1, il utilise l’ atsortingbut @NSApplicationMain sur une implémentation de NSApplicationDelegate .

Dans le fichier AppDelegate.swift , vous pouvez voir @UIApplicationMain .
Le AppDelegate est le fichier d’entrée initial.

Fondamentalement: main.m et AppDelegate.m sont un peu fusionnés dans Swift pour simplement AppDelegate.swift

Vous voudrez peut-être lire les fichiers et l’initialisation

L’exception est un fichier spécial nommé «main.swift», qui se comporte comme un fichier de jeux, mais est construit avec le code source de votre application. Le fichier «main.swift» peut contenir du code de premier niveau et les règles dépendant de l’ordre s’appliquent également. En effet, la première ligne de code à exécuter dans «main.swift» est implicitement définie comme le point d’entrée principal du programme. Cela permet au programme Swift minimal 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 des nouveaux modèles de projet iOS est d’append @UIApplicationMain à un fichier Swift normal. Cela oblige le compilateur à synthétiser un point d’entrée principal pour votre application iOS et élimine le besoin d’un fichier «main.swift».

Alternativement, vous pouvez associer une implémentation de main écrite en Objective-C, commune lors de la migration incrémentielle de projets d’Objective-C vers Swift.