@UIApplicationMain
Atrybut w Swift zastępuje trywialne main.m
plik znajduje się w projektach Objective-C (których celem jest wdrożenie main
funkcji, która jest punktem wyjścia dla wszystkich programów C i rozmowy UIApplicationMain
skopać pętli biegu Cocoa Touch i infrastruktury APP).
W Objective-C głównym (heh) bitem konfiguracji aplikacji, którą UIApplicationMain
zapewnia funkcja, jest wyznaczenie jednej z niestandardowych klas aplikacji jako delegata UIApplication
obiektu udostępnionego . W Swift, można łatwo wyznaczyć tę klasę dodając ten @UIApplicationMain
atrybut tej klasy deklaracją. (Możesz również nadal wywoływać UIApplicationMain
funkcję bezpośrednio, jeśli masz ku temu powód. W Swift umieszczasz to wywołanie w kodzie najwyższego poziomu w main.swift
pliku).
@UIApplicationMain
dotyczy tylko systemu iOS. W OS X delegat aplikacji jest tradycyjnie ustawiany w głównym pliku stalówki wyznaczonym przez Info.plist (tak samo dla Swift jak dla ObjC) - ale w przypadku scenorysów OS X nie ma głównego pliku stalówki, więc @NSApplicationMain
robi to samo.
UIApplicationMain
jest tam teraz. developer.apple.com/library/ios/documentation/Swift/Conceptual/…Atrybut @UIApplicationMain zastępuje & plik main.m oraz punkt wejścia do uruchomienia aplikacji.
Jeszcze jedna rzecz, którą Twój program może działać bez tego @UIApplicationMain wszystko, co musisz zrobić, to skomentować // @ UIApplicationMain` utwórz main.swift to samo co main.m w celu c i napisz poniższy kod. to będzie punkt wejścia Twojej aplikacji
import Foundation class FLApplication: UIApplication { override func sendEvent(event: UIEvent!) { println("Entry Point") // this is an example } }
źródło
Foundation
Import,FLApplication
, losowy subclassing bez wypowiedzenia dowolnego korzystania z podklasy ... Niestety, ale żadna z tych odpowiedzi sens z wyjątkiem pierwszego zdania.Plik źródłowy AppDelegate.swift ma dwie podstawowe funkcje:
Tworzy punkt wejścia do aplikacji i pętlę uruchamiania, która dostarcza zdarzenia wejściowe do aplikacji. Ta praca jest wykonywana przez atrybut UIApplicationMain (@UIApplicationMain) , który pojawia się w górnej części pliku. UIApplicationMain tworzy obiekt aplikacji, który jest odpowiedzialny za zarządzanie cyklem życia aplikacji i obiektem delegata aplikacji.
Definiuje klasę AppDelegate , plan obiektu delegata aplikacji. Delegat aplikacji tworzy okno, w którym jest rysowana zawartość aplikacji, i zapewnia miejsce do reagowania na przejścia między stanami w aplikacji. Klasa AppDelegate służy do pisania niestandardowego kodu na poziomie aplikacji.
źródło
Teraz, gdy dokumentacja Swift jest zaktualizowana, oto odpowiedni fragment:
https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Attributes.html
źródło
@UIApplicationMain jest atrybutem stosowanym do klasy zadeklarowanej poniżej AppDelegate , aby zapewnić więcej informacji o tej klasie.
W tym przypadku atrybut @UIApplicationMain wskazuje, że klasa AppDelegate jest delegatem aplikacji Twojej aplikacji.
źródło
UIApplicationMain Zastosuj ten atrybut do klasy, aby wskazać, że jest to delegat aplikacji. Użycie tego atrybutu jest równoznaczne z wywołaniem funkcji UIApplicationMain i przekazaniem nazwy tej klasy jako nazwy klasy delegata. (Źródło)
źródło