¿Dónde comienza su vida una aplicación Swift iOS?

Si creo una aplicación Objective-C iOS en Xcode, se generará un file llamado main.m El contenido del file se ve algo así:

main.m

 #import <UIKit/UIKit.h> #import "AppDelegate.h" int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } } 

Y aquí es donde una aplicación Objective-C iOS comienza su vida.

Es importante que si quiero subclass UIApplication (por cualquier razón), aquí es donde voy a decirle a mi aplicación qué class utilizar para la class de aplicación. Del mismo modo, si por alguna razón quiero usar un nombre de class que no sea AppDelegate para mi aplicación, cambiaría esa información aquí.

SIN EMBARGO , si creo una aplicación Swift iOS en Xcode, no se genera tal file (que pude encontrar). ¿Dónde configuro estas cosas?

En Swift puede usar el atributo @UIApplicationMain en la class de delegado de su aplicación y automáticamente llamará a la function UIApplicationMain() .

 @UIApplicationMain class YourAppDelegate: UIResponder, UIApplicationDelegate { ... 

También hay otra opción:

Si no usa este atributo, suministre un file main.swift con una function main que llame a la function UIApplicationMain . Por ejemplo, si su aplicación usa una subclass personalizada de UIApplication como class principal, llame a la function UIApplicationMain lugar de usar este atributo.


Referencias:

  • El lenguaje de progtwigción Swift: attributes
  • ¿Qué significa "@UIApplicationMain"?