Das @UIApplicationMain
Attribut in Swift ersetzt die triviale main.m
Datei in Objective-C-Projekten (deren Zweck darin besteht, die main
Funktion zu implementieren , die der Einstiegspunkt für alle C-Programme ist, und den Aufruf UIApplicationMain
zum Starten der Cocoa Touch-Ausführungsschleife und der App-Infrastruktur).
In Objective-C ist das Hauptbit (heh) der Konfiguration pro App, das die UIApplicationMain
Funktion bereitstellt, das Festlegen einer der benutzerdefinierten Klassen Ihrer App als Delegat des gemeinsam genutzten UIApplication
Objekts. In Swift können Sie diese Klasse einfach festlegen, indem Sie das @UIApplicationMain
Attribut zur Deklaration dieser Klasse hinzufügen . (Sie können die UIApplicationMain
Funktion auch weiterhin direkt aufrufen, wenn Sie Grund dazu haben. In Swift fügen Sie diesen Aufruf in Code der obersten Ebene in eine main.swift
Datei ein.)
@UIApplicationMain
ist nur für iOS. In OS X wird der App-Delegat traditionell in der von der Info.plist angegebenen Haupt-Nib-Datei festgelegt (das gleiche für Swift wie für ObjC). Bei OS X-Storyboards gibt es jedoch keine Haupt-Nib-Datei @NSApplicationMain
.
UIApplicationMain
gibt es jetzt. developer.apple.com/library/ios/documentation/Swift/Conceptual/…Das @ UIApplicationMain-Attribut ersetzt die Datei main.m und den Einstiegspunkt für den Start Ihrer Anwendung.
Eine weitere Sache, die Ihr Programm ohne diese @UIApplicationMain ausführen kann, ist lediglich ein Kommentar // @ UIApplicationMain` create main.swift wie main.m in Ziel c und schreiben Sie den folgenden Code. Dies ist der Einstiegspunkt Ihrer Bewerbung
quelle
Foundation
Import, dieFLApplication
, die zufällige Unterklasse, ohne die Verwendung der Unterklasse zu deklarieren ... Entschuldigung, aber keine dieser Antworten ist sinnvoll, außer dem ersten Satz.Die Quelldatei AppDelegate.swift hat zwei Hauptfunktionen:
Es erstellt den Einstiegspunkt für Ihre App und eine Ausführungsschleife, die Eingabeereignisse an Ihre App liefert. Diese Arbeit wird vom UIApplicationMain- Attribut (@UIApplicationMain) ausgeführt , das oben in der Datei angezeigt wird . UIApplicationMain erstellt ein Anwendungsobjekt, das für die Verwaltung des Lebenszyklus der App verantwortlich ist, und ein App-Delegatenobjekt.
Es definiert die AppDelegate- Klasse, die Blaupause für das App-Delegatenobjekt. Der App-Delegat erstellt das Fenster, in dem der Inhalt Ihrer App gezeichnet wird, und bietet einen Ort, an dem auf Statusübergänge innerhalb der App reagiert werden kann. In der AppDelegate-Klasse schreiben Sie Ihren benutzerdefinierten Code auf App-Ebene.
quelle
Nachdem die Swift-Dokumentation aktualisiert wurde, finden Sie hier die entsprechende Passage:
https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Attributes.html
quelle
@UIApplicationMain ist ein Attribut, das auf die unten deklarierte Klasse AppDelegate angewendet wird, um weitere Informationen zu dieser Klasse bereitzustellen.
In diesem Fall gibt das Attribut @UIApplicationMain an, dass die Klasse AppDelegate der Anwendungsdelegierte Ihrer App ist.
quelle
UIApplicationMain Wenden Sie dieses Attribut auf eine Klasse an, um anzugeben, dass es sich um den Anwendungsdelegierten handelt. Die Verwendung dieses Attributs entspricht dem Aufrufen der UIApplicationMain-Funktion und der Übergabe des Klassennamens als Name der Delegatenklasse. (Quelle)
quelle