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