No hay main()
método en Swift. El programa debe iniciar la ejecución desde algún lugar. Entonces, ¿cuál es el punto de entrada de la ejecución de código rápido y cómo se decide?
fuente
No hay main()
método en Swift. El programa debe iniciar la ejecución desde algún lugar. Entonces, ¿cuál es el punto de entrada de la ejecución de código rápido y cómo se decide?
El punto de entrada en un módulo Swift simple es el archivo en el módulo llamado main.swift
. main.swift
es el único archivo que puede tener expresiones y declaraciones en el nivel superior (todos los demás archivos Swift en el módulo solo pueden contener declaraciones).
Cocoa Touch usa el @UIApplicationMain
atributo en una implementación de en UIApplicationDelegate
lugar de un main.swift
archivo para marcar el punto de entrada. Cocoa solía usar un main.swift
archivo mínimo que simplemente llamaba NSApplicationMain
, pero a partir de Xcode 6.1 usa el @NSApplicationMain
atributo en una implementación de NSApplicationDelegate
.
main.swift
archivo en ninguna parte. ¿Cuál es la ubicación de este archivo?main.swift
encuentra en el grupo Archivos de apoyo y simplemente está configurado para llamarNSApplicationMain
.main.swift
.En el
AppDelegate.swift
archivo puedes ver@UIApplicationMain
.AppDelegate es el archivo de entrada inicial.
Básicamente:
main.m
yAppDelegate.m
se fusionan un poco enSwift
soloAppDelegate.swift
fuente
Cocoa-Touch
, mi respuesta es correcta.Es posible que desee leer Archivos e inicialización
fuente
En las aplicaciones Swift hay atributos:
@UIApplicationMain
(Toque de cacao)@NSApplicationMain
(Cacao)que le dicen al compilador rápido dónde está el punto de entrada de la aplicación.
Lo que hace el compilador rápido bajo el capó es que crea una
main
función, que básicamente tiene el mismo aspecto que en las aplicaciones Objective-C y trata este método como el punto de entrada de la aplicación (un primer método que se llama cuando se inicia el proceso de la aplicación).Si desea leer más sobre lo que hace el compilador rápido con los
Main
atributos, cómo el sistema operativo sabe dónde está el punto de entrada de la aplicación, le animo a leer este artículo: Comprender el punto de entrada de la aplicación iOSfuente
En Swift 5.3 hay un nuevo
@main
atributo que le permite controlar dónde está su punto de entrada en su proyecto en lugar de solomain.swift
. Solo puede haber una entrada principal y no puede tener unmain.swift
archivo y un atributo@main
. Consulte https://github.com/apple/swift-evolution/blob/master/proposals/0281-main-attribute.md para obtener más detalles.fuente