我正在尋找將我的Objective-c應用程序委託從Swift應用程序委託中取代。我已經在Swift中轉換了大量的代碼,希望最終能夠隱藏App-Delegate。我一直在研究互聯網,並沒有找到任何實際的具體信息去實現這一點,所以我想這可能會有助於創建一個有關該主題的StackOverFlow問題。看起來我可以從X代碼中的File-> New file菜單創建一個新的應用程序委託。但我的問題是編譯器如何知道選擇Swift App-Delegate VS Objective-C App-Delegate?我查看過構建設置,還沒有發現任何指向此代理的內容(除構建階段外)。任何幫助將不勝感激。謝謝!換掉應用程序委託objective-c文件並用swift App委託代替?
0
A
回答
0
假設此項目構建爲Objective-C項目,您應該有一個main.m文件,其中包含對UIApplicationMain
的調用。該調用中的最後一個參數指定應用程序委託類名稱。
0
在Obj-C文件中main.m
是程序的輸入點。在這個文件中,你知道哪些類將通過調用函數UIApplicationMain
是應用程序的委託:
UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
在斯威夫特可以使用@UIApplicationMain
attribute您AppDelegate類指示輸入點和委託類。或者你可以創建main.swift
文件。
在同一個項目中,您不能同時擁有main.m
和main.swift
(或具有@UIApplicationMain
屬性的應用程序委託類)。在這種情況下,你會得到鏈接錯誤。
因此,切換到您的應用程序委託的Swift實現,你需要用屬性標記它,然後刪除舊的Obj-C類和main.m
文件。或者您需要在main.m
文件中指定新類。
相關問題
- 1. LINQ委託代序
- 2. 應用程序委託用法
- 3. Swift UIWebView委託使用並覆蓋shouldStartLoadWith
- 4. 委託簽名/通用委託?
- 5. 使用jQuery委託()替換live()
- 6. 應用程序委託泄漏問題
- 7. NS應用程序委託問題
- 8. jquery委託方法應用程序
- 9. 應用程序委託問題,MonoTouch
- 10. 應用程序委託對象
- 11. iPhone - 寫在應用程序委託
- 12. 應用程序委託 - 可可
- 13. 切換使用委託
- 14. 從Swift目標C項目訪問應用程序委託
- 15. 應用程序委託 - 加載核心數據Swift
- 16. 應用委託和協議
- 17. 有沒有更好的方法?委託 - >委託 - >委託
- 18. Swift /如何使用popViewController調用委託
- 19. 委託模態視圖swift
- 20. Swift委託和SocketScan scanApi.setDelegate()
- 21. Swift UICollectionView委託執行segue
- 22. UItextView委託swift - textViewDidBeginEditing不叫
- 23. 在ViewController中調用App委託數組
- 24. 使用委託者
- 25. 多線程委託/事件
- 26. 如何從Objective-C使用委託Swift?
- 27. didReceiveAuthenticationChallenge委託沒有在Swift中調用
- 28. 如何使用SWIFT委託與可可
- 29. 試圖使用委託時Swift EXC_BAD_INSTRUCTION
- 30. C#委託與事件處理程序
更容易開始一個新的目標,迅速並從那裏工作。您不應該將同一個類的.m和.swift鏈接到同一個目標,否則您將從編譯器中獲得重複的符號錯誤。看看這個[鏈接](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/Migration.html) – Bamsworld