原文地址
幾天前,我開始新的App的開發了。終于有機會把swift用在實戰中了,也學到了之前純學語法時沒有機會獲得的知識。
這篇博文中,我就如何使用swift、OC混編做一個介紹。
OC中使用Swift
首先,在工程的 Build Settings
中把 defines module
設為 YES.
然后,把product module name設置為項目工程的名字。
最后一步,在你的OC文件中導入 ProjectName-Swift.h.
注意:ProjectName-Swift.h 這個文件是系統自己創建的,千萬不要手動創建。
Swift中使用OC
Swift代碼引用OC,需依靠 Objective-C bridging header 將相關文件暴露給Swift。
創建 Objective-C bridging header 有兩種方法:
1、當你在Swift項目中嘗試創建OC文件時,系統會自動幫你創建 Objective-C bridging header .
此時除了 .h 、.m 文件之外,會額外多出一個叫做 項目工程名-Bridging-Header.h 的文件,這個文件中導入的類是可以暴露給Swift看到的。你要做的,只是#import XXXX.
2、自己創建
Objective-C bridging header
File > New > File > (iOS or OS X) > Source > Header File
切記,名字 一定要 是
項目工程名-Bridging-Header
然后還有一步,在項目的
Build Settings
選項里,要確保Swift Compiler 選項里有這個 Bridging Header
文件的設置,路徑必須指向文件本身,而不是目錄!