El @UIApplicationMain
atributo en Swift reemplaza el main.m
archivo trivial que se encuentra en los proyectos de Objective-C (cuyo propósito es implementar la main
función que es el punto de entrada para todos los programas en C y llamar UIApplicationMain
para iniciar el ciclo de ejecución de Cocoa Touch y la infraestructura de la aplicación).
En Objective-C, la parte principal (je) de la configuración por aplicación que UIApplicationMain
proporciona la función es designar una de las clases personalizadas de su aplicación como delegada del UIApplication
objeto compartido . En Swift, puede designar fácilmente esta clase agregando el @UIApplicationMain
atributo a la declaración de esa clase. (También puede invocar la UIApplicationMain
función directamente si tiene motivos para hacerlo. En Swift, coloca esa llamada en un código de nivel superior en un main.swift
archivo).
@UIApplicationMain
es solo para iOS. En OS X, el delegado de la aplicación se establece tradicionalmente en el archivo nib principal designado por Info.plist (lo mismo para Swift que para ObjC), pero con los guiones gráficos de OS X no hay un archivo nib principal, por lo que @NSApplicationMain
hace lo mismo allí.
UIApplicationMain
ahora. developer.apple.com/library/ios/documentation/Swift/Conceptual/…El atributo @UIApplicationMain es un reemplazo del archivo main.m y el punto de entrada para que se inicie la aplicación.
Una cosa más que su programa puede funcionar sin esta @UIApplicationMain, todo lo que necesita hacer es comentar // @ UIApplicationMain` crear main.swift igual que main.m en el objetivo cy escribir el código a continuación. ese será el punto de entrada de su aplicación
import Foundation class FLApplication: UIApplication { override func sendEvent(event: UIEvent!) { println("Entry Point") // this is an example } }
fuente
Foundation
importación, laFLApplication
subclase aleatoria sin declarar ningún uso de la subclase ... Lo siento, pero ninguna de estas respuestas tiene sentido excepto la primera oración.El archivo fuente AppDelegate.swift tiene dos funciones principales:
Crea el punto de entrada a su aplicación y un ciclo de ejecución que entrega eventos de entrada a su aplicación. Este trabajo lo realiza el atributo UIApplicationMain (@UIApplicationMain) , que aparece en la parte superior del archivo. UIApplicationMain crea un objeto de aplicación que es responsable de administrar el ciclo de vida de la aplicación y un objeto delegado de la aplicación.
Define el clase AppDelegate , el modelo del objeto delegado de la aplicación. El delegado de la aplicación crea la ventana donde se dibuja el contenido de su aplicación y proporciona un lugar para responder a las transiciones de estado dentro de la aplicación. La clase AppDelegate es donde escribe su código personalizado a nivel de aplicación.
fuente
Ahora que la documentación de Swift está actualizada, aquí está el pasaje relevante:
https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Attributes.html
fuente
@UIApplicationMain es un atributo aplicado a la clase -declarada a continuación- AppDelegate , para proporcionar más información sobre esta clase.
En este caso, el atributo @UIApplicationMain indica que la clase AppDelegate es la aplicación delegada de su aplicación.
fuente
UIApplicationMain Aplique este atributo a una clase para indicar que es el delegado de la aplicación. El uso de este atributo equivale a llamar a la función UIApplicationMain y pasar el nombre de esta clase como el nombre de la clase delegada. (Fuente)
fuente