Non esiste il metodo main()
in rapido. Il programma deve iniziare l'esecuzione da qualche parte. Allora, qual è il punto di ingresso per l'esecuzione rapida del codice e come viene deciso?Qual è il punto di ingresso dell'esecuzione del codice swift?
risposta
Il punto di ingresso in un modulo Swift semplice è il file nel modulo chiamato main.swift
. main.swift
è l'unico file a cui è consentito avere espressioni e istruzioni al livello più alto (tutti gli altri file Swift nel modulo possono contenere solo dichiarazioni).
Cocoa Touch utilizza lo @UIApplicationMain
attribute su un'implementazione di UIApplicationDelegate
anziché un file main.swift
per contrassegnare il punto di ingresso. Il cacao utilizzava un file minimo main.swift
che si chiamava semplicemente NSApplicationMain
, ma as of Xcode 6.1 utilizza lo @NSApplicationMain
attribute in un'implementazione di NSApplicationDelegate
.
Nel file AppDelegate.swift
è possibile vedere @UIApplicationMain
.
AppDelegate è il file di immissione iniziale.
In sostanza: main.m
e AppDelegate.m
sono un pò fuse in Swift
a poco AppDelegate.swift
Si consiglia di leggere Files and Initialization
L'eccezione è un file speciale denominato “main.swift”, che si comporta molto come un file di gioco, ma è costruito con il codice sorgente della tua app. Il file "main.swift" può contenere il codice di livello superiore e si applicano anche le regole dipendenti dall'ordine. In effetti, la prima riga di codice da eseguire in "main.swift" è implicitamente definita come il punto di accesso principale per il programma . Ciò consente al programma Swift minimo di essere una linea singola - purché tale linea sia in "main.swift".
In Xcode, Mac template di default tra cui un file “main.swift”, ma per applicazioni iOS di default per i nuovi modelli di progetto iOS è quello di aggiungere @UIApplicationMain a un file Swift regolare. In questo modo il compilatore sintetizza un punto di ingresso principale per la tua app iOS ed elimina la necessità di per un file "main.swift".
In alternativa, è possibile collegare un'implementazione di main scritta in Objective-C, comune quando si esegue la migrazione incrementale di progetti da Objective-C a Swift.
Ho trovato che questo è un modo migliore e una spiegazione di livello superiore di come il punto di ingresso è impostato in iOS. – Steven
In Swift, sembra che lo stesso main.swift
sia il metodo main()
.
Questo non fornisce una risposta alla domanda. Una volta che hai [reputazione] sufficiente (https://stackoverflow.com/help/whats-reputation) sarai in grado di [commentare qualsiasi post] (https://stackoverflow.com/help/privileges/comment); invece [fornisci risposte che non richiedono chiarimenti da parte del richiedente] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-, invece). - [Dalla recensione] (/ recensione/post di bassa qualità/19053808) – msparer
- 1. Qual è il punto di ingresso grande?
- 2. Qual è il punto di questo codice?
- 3. Qual è il punto del codice di firma, come vasi?
- 4. Qual è il punto di "javascript:" in codice (non URL)?
- 5. Quindi: qual è il punto?
- 6. qual è il punto di ingresso per un'applicazione asp.net mvc 4?
- 7. Punto di ingresso non trovato
- 8. HashMap.containsValue: qual è il punto?
- 9. SOAP - Qual è il punto?
- 10. Qual è il punto di ContentResolver.bulkInsert (..)?
- 11. Qual è il punto di FILL_AND_STROKE?
- 12. Qual è il punto di System.IO.dll?
- 13. Qual è il punto di dichiarare-stilizzabile?
- 14. XNA: Qual è il punto di Unload()?
- 15. Qual è il punto di iter_swap?
- 16. Qual è il punto di make_heap?
- 17. Qual è il punto di object.presence?
- 18. Qual è il punto di Html.DisplayTextFor()?
- 19. Qual è il punto di invokeinterface?
- 20. Qual è il punto di STL?
- 21. Qual è il punto di XPS?
- 22. Qual è il punto di os.error?
- 23. Qual è il punto di SharedPreferences.getFloat()
- 24. Qual è il punto di avere wmemcpy?
- 25. Qual è il punto di g ++ -Wreorder?
- 26. Qual è il punto di impalcatura?
- 27. Qual è il punto di setArguments?
- 28. Qual è il punto di firma del codice "Debug" o "Release" in XCode?
- 29. Qual è il punto dei pacchetti Nuget?
- 30. Il codice chiave JavaScript 46 è il tasto funzione DEL o il segno del punto (.)?
Ho creato un nuovo progetto xcode e non riesco a trovare il file 'main.swift' da nessuna parte. Qual è la posizione di questo file? – Selvin
Nelle applicazioni Cocoa e Cocoa Touch 'main.swift' è nel gruppo ** Supporting Files **, ed è semplicemente configurato per chiamare' NSApplicationMain'. – nathan
Non è presente nel gruppo File di supporto. Non è da nessuna parte nel progetto. – Selvin