Jawaban:
Titik masuk dalam modul Swift biasa adalah file dalam modul yang disebut main.swift. main.swiftadalah satu-satunya file yang diizinkan untuk memiliki ekspresi dan pernyataan di tingkat atas (semua file Swift lainnya dalam modul hanya dapat berisi deklarasi).
Cocoa Touch menggunakan @UIApplicationMainatribut pada implementasi UIApplicationDelegatealih-alih main.swiftfile untuk menandai titik masuk. Cocoa biasanya menggunakan main.swiftfile minimal yang hanya dipanggil NSApplicationMain, tetapi pada Xcode 6.1 menggunakan @NSApplicationMainatribut pada implementasi NSApplicationDelegate.
main.swiftada dalam grup File Pendukung , dan hanya dikonfigurasi untuk memanggil NSApplicationMain.
main.swift.
Di AppDelegate.swiftfile tersebut Anda bisa melihat @UIApplicationMain.
AppDelegate adalah file entri awal.
Pada dasarnya: main.mdan AppDelegate.magak digabungkan Swiftmenjadi adilAppDelegate.swift
Anda mungkin ingin membaca File dan Inisialisasi
Pengecualiannya adalah file khusus bernama "main.swift", yang berperilaku seperti file taman bermain, tetapi dibuat dengan kode sumber aplikasi Anda. File "main.swift" dapat berisi kode tingkat atas, dan aturan yang bergantung pada pesanan juga berlaku. Akibatnya, baris pertama kode yang dijalankan di "main.swift" secara implisit didefinisikan sebagai titik masuk utama untuk program. Ini memungkinkan program Swift minimal menjadi satu baris - selama baris tersebut ada di "main.swift".
Di Xcode, template Mac secara default menyertakan file "main.swift", tetapi untuk aplikasi iOS, default untuk template proyek iOS baru adalah menambahkan @UIApplicationMain ke file Swift biasa. Hal ini menyebabkan compiler menyintesis titik masuk utama untuk aplikasi iOS Anda, dan menghilangkan kebutuhan akan file "main.swift".
Atau, Anda dapat menautkan dalam implementasi utama yang ditulis di Objective-C, umum saat memigrasikan proyek secara bertahap dari Objective-C ke Swift.
Di aplikasi Swift ada atribut:
@UIApplicationMain (Cocoa Touch)@NSApplicationMain (Biji cokelat)yang memberi tahu swift compiler di mana titik masuk aplikasi.
Apa yang dilakukan oleh swift compiler di bawah tenda adalah membuat sebuah mainfungsi, yang pada dasarnya terlihat sama seperti di aplikasi Objective-C dan memperlakukan metode ini sebagai titik masuk aplikasi (metode pertama yang dipanggil saat proses aplikasi dimulai).
Jika Anda ingin membaca lebih lanjut tentang apa yang dilakukan oleh swift compiler dengan Mainatribut, bagaimana OS mengetahui di mana titik masuk aplikasi, saya mendorong Anda untuk membaca artikel ini: Memahami titik masuk aplikasi iOS
Di Swift 5.3 ada @mainatribut baru yang memungkinkan Anda mengontrol di mana titik masuk Anda dalam proyek Anda, bukan hanya main.swift. Hanya boleh ada satu entri utama dan Anda tidak dapat memiliki main.swiftfile dan atribut @main. Lihat https://github.com/apple/swift-evolution/blob/master/proposals/0281-main-attribute.md untuk lebih jelasnya.
@main
struct App {
static func main() {
print("Starting.")
}
}
main.swiftfile di mana pun. Di mana lokasi file ini?