swift中沒有main()
方法。程序必須從某處開始執行。那麼swift代碼執行的入口點是什麼?它是如何決定的?swift代碼執行的入口點是什麼?
回答
簡單Swift模塊中的入口點是模塊中名爲main.swift
的文件。 main.swift
是唯一允許在頂層具有表達式和語句的文件(模塊中的所有其他Swift文件只能包含聲明)。
Cocoa Touch在執行UIApplicationDelegate
時使用@UIApplicationMain
attribute而不是main.swift
文件來標記入口點。可可過去使用最小的main.swift
文件,該文件簡單地稱爲NSApplicationMain
,但as of Xcode 6.1在NSApplicationDelegate
的實現上使用@NSApplicationMain
attribute。
您可能需要閱讀Files and Initialization
唯一的例外是名爲「main.swift」一個特殊的文件,其行爲多 就像一個遊樂場文件一樣,但它是用你的應用程序的源代碼構建的。「main.swift」文件可以包含頂級代碼,並且也可以使用與順序有關的規則。實際上,在 「main.swift」中運行的第一行代碼被隱式定義爲 程序的主要入口點。這允許最小的Swift程序成爲一行 - ,只要該行在「main.swift」中即可。
在Xcode中,Mac模板默認包含「main.swift」文件,但對於iOS應用程序,默認爲新iOS項目模板的 將 @UIApplicationMain添加到常規Swift文件。這會導致編譯器 綜合iOS應用程序的主要入口點,並消除對「main.swift」文件的需求 。
或者,您可以鏈接到一個主要實現中,編寫爲 Objective-C,在將項目從 遞增移植到Swift時很常見。
我發現這是一個更好,更高層次的iOS入口點設置的解釋。 – Steven
在Swift中,好像main.swift
本身就是main()
方法。
這不提供問題的答案。一旦你有足夠的[聲譽](https://stackoverflow.com/help/whats-reputation),你將可以[對任何帖子發表評論](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要提問者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- I-DO-代替)。 - [來自評論](/ review/low-quality-posts/19053808) – msparer
- 1. 執行什麼代碼
- 2. 什麼是「?」要麼 」!」在SWIFT代碼
- 3. 嵌入/執行PHP代碼的最佳WordPress插件是什麼?
- 4. Python:是執行的入口點(__main__)?
- 5. Ruby Profiler使用Ruby代碼執行中的入口點嗎?
- 6. 爲什麼這個swift代碼仍然在執行segue?
- 7. 這些swift代碼是什麼意思?
- 8. 爲什麼點擊即時窗口會加快VBA代碼的執行速度?
- 9. 這個Swift代碼的等效代碼是什麼?
- 10. 什麼是這個Objective-c代碼的等效Swift代碼?
- 11. Jersey API的入口點Servlet是什麼?
- 12. git的入口點是什麼?
- 13. 什麼是代碼行?
- 14. Lua在C#中用於動態代碼執行的CSharpCodeProvider的優點是什麼?
- 15. [\ u8D27]的Unicode代碼點是什麼?
- 16. '¿'的Unicode代碼點是什麼?
- 17. while(0)爲什麼不執行代碼?
- 18. 什麼觸發JavaScript代碼執行?
- 19. 爲什麼執行此代碼?
- 20. 爲什麼不執行此jQuery代碼?
- 21. 要執行什麼文件BLE代碼
- 22. 爲什麼不執行此代碼?
- 23. 這段代碼爲什麼執行?
- 24. Javascript爲什麼不執行此代碼?
- 25. 爲什麼不執行此代碼?
- 26. 定義類時執行什麼代碼?
- 27. 爲什麼代碼被執行兩次?
- 28. 這個Java代碼中的「入口」是什麼意思?
- 29. 我無法執行下面的代碼的原因是什麼?
- 30. 節點JS代碼執行
我創建了一個新的xcode項目,我無法在任何地方找到'main.swift'文件。這個文件的位置是什麼? – Selvin
在Cocoa和Cocoa Touch應用程序中'main.swift'位於** Supporting Files **組中,並且只是簡單配置爲調用'NSApplicationMain'。 – nathan
沒有它在支持文件組中。它並不在項目中的任何地方。 – Selvin