Nie ma metody main()
w szybkim tempie. Program musi gdzieś rozpocząć realizację. Więc jaki jest punkt wejścia szybkiego wykonywania kodu i jak to się decyduje?Jaki jest punkt wejścia szybkiego wykonywania kodu?
Odpowiedz
Punktem wejścia w prostym module Swift jest plik w module o nazwie main.swift
. main.swift
to jedyny plik, który może mieć wyrażenia i wyciągi na najwyższym poziomie (wszystkie inne pliki Swift w module mogą zawierać tylko deklaracje).
Cocoa Touch używa @UIApplicationMain
attribute dla implementacji UIApplicationDelegate
zamiast pliku main.swift
do oznaczenia punktu wejścia. Kakao używało minimalnego pliku main.swift
, który po prostu nazywa się NSApplicationMain
, ale as of Xcode 6.1 używa @NSApplicationMain
attribute w implementacji NSApplicationDelegate
.
W pliku AppDelegate.swift
widać @UIApplicationMain
.
AppDelegate jest początkowym plikiem wejściowym.
Zasadniczo: main.m
i AppDelegate.m
są trochę połączyły się w Swift
tylko AppDelegate.swift
Możesz przeczytać Files and Initialization
Wyjątkiem jest specjalny plik o nazwie „main.swift”, który zachowuje się znacznie podobnie jak plik placu zabaw, ale jest zbudowany z kodu źródłowego Twojej aplikacji. Plik "main.swift" może zawierać kod najwyższego poziomu, a obowiązują również reguły zależne od zamówienia: . W efekcie pierwszy wiersz kodu do uruchomienia w "main.swift" jest niejawnie zdefiniowany jako główny punkt wejścia dla programu . Dzięki temu minimalny program Swift może być pojedynczą linią - , o ile ta linia jest w "main.swift".
w Xcode, Mac szablonów domyślnie w tym „main.swift” plik, ale dla iOS domyślnym dla nowych szablonów projektowych iOS jest dodanie @UIApplicationMain do zwykłego pliku Swift. Powoduje to, że kompilator syntetyzuje główny punkt wejścia dla aplikacji na iOS i eliminuje potrzebę pliku "main.swift" pod numerem .
Alternatywnie, można połączyć w realizacji głównego napisanego w Objective-C, wspólny kiedy stopniowo migracji projektów z Objective-C do Swift.
Stwierdziłem, że jest to lepszy i wyższy poziom wyjaśnienia, jak punkt wejścia jest skonfigurowany w iOS. – Steven
W Swift wygląda na to, że main.swift
to metoda main()
.
Nie zapewnia to odpowiedzi na pytanie. Gdy masz już wystarczającą [reputację] (https://stackoverflow.com/help/whats-reputation), będziesz mógł [komentować dowolny wpis] (https://stackoverflow.com/help/privileges/comment); zamiast tego [dostarczaj odpowiedzi, które nie wymagają wyjaśnień od pytającego] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-zamiast). - [Z recenzji] (/ opinia/niskiej jakości-posts/19053808) – msparer
Utworzono nowy projekt xcode i nie mogę znaleźć pliku 'main.swift' w dowolnym miejscu. Jaka jest lokalizacja tego pliku? – Selvin
W aplikacjach Cocoa i Cocoa Touch "main.swift" znajduje się w grupie ** Supporting Files ** i jest po prostu skonfigurowany do wywoływania 'NSApplicationMain'. – nathan
Nie ma jej w grupie Obsługa plików. Nie jest nigdzie w projekcie. – Selvin