Jawaban:
Titik masuk dalam modul Swift biasa adalah file dalam modul yang disebut main.swift
. main.swift
adalah 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 @UIApplicationMain
atribut pada implementasi UIApplicationDelegate
alih-alih main.swift
file untuk menandai titik masuk. Cocoa biasanya menggunakan main.swift
file minimal yang hanya dipanggil NSApplicationMain
, tetapi pada Xcode 6.1 menggunakan @NSApplicationMain
atribut pada implementasi NSApplicationDelegate
.
main.swift
ada dalam grup File Pendukung , dan hanya dikonfigurasi untuk memanggil NSApplicationMain
.
main.swift
.
Di AppDelegate.swift
file tersebut Anda bisa melihat @UIApplicationMain
.
AppDelegate adalah file entri awal.
Pada dasarnya: main.m
dan AppDelegate.m
agak digabungkan Swift
menjadi 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 main
fungsi, 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 Main
atribut, 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 @main
atribut 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.swift
file 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.swift
file di mana pun. Di mana lokasi file ini?