整理之前學(xué)習(xí)swift的筆記愉昆,雖然現(xiàn)在看起來很簡單,但還是想分享出來拒贱。
(一)Swift調(diào)用OC
假設(shè):我們的項目是Swift的耕蝉。項目中用到了OC寫的一些類裸准。那么怎么讓Swift調(diào)用OC類呢?如下圖:
新建項目:Language選擇Swift語言赔硫。
添加OC文件:給項目中新建OC文件(向項目中拖拽已有OC文件或者通過command + N新建OC文件)炒俱,如下圖(新建一個OC類):
添加橋接文件:點擊Next,那么會出現(xiàn)以下以下界面爪膊,點擊"Create Bridging Header":
完成:點擊Finish后权悟,你會發(fā)現(xiàn),除了我們新建的OC文件外推盛,還會額外多出一個名為SwiftAndOC-Bridging-Header.h的文件峦阁,如下圖:
可以發(fā)現(xiàn),橋接文件也一個.h文件耘成。橋接文件的名字就是以項目名開頭榔昔,后面又拼接了"-Bridging-Header"
橋接文件是Swift調(diào)用OC所必須的,Swift中用到哪個OC類瘪菌,就需要在橋接文件中import該OC類的頭文件撒会,如下圖:
然后在Swift中就可以使用OC類,但是語法方式必須是Swift的語法师妙,如下圖:
總結(jié):
1.Swift調(diào)用OC類诵肛,必須要有橋接文件,且在橋接文件中importOC類的頭文件默穴。
2.Swift中調(diào)用的OC類怔檩,需要使用Swift語法。
OC調(diào)用Swift
我們在我們想要調(diào)用Swift類的方法里面引入頭文件:”Product Module Name-Swift.h”,其中Product Module Name替換成項目名稱(SwiftAndOC)蓄诽,如下圖:
注意:
import這個文件沒有補(bǔ)全提示薛训,需要我們自己寫出來。
OC中調(diào)用Swift類:
注意:
Product Module Name-Swift.h(例子中的是SwiftAndOC-Swift.h)仑氛,是由編譯器自動生成的乙埃,如果import后沒有提示蝴猪,編譯一下。并且只有在工程中包含至少一個Swift文件的時候膊爪,才會自動生成這個文件,所以如果工程中如果沒有Swift文件的時候嚎莉,就算在配置中設(shè)置對了米酬,import該文件也會報錯,這很好理解趋箩,OC調(diào)用Swift赃额,項目中都沒有Swift文件,談何調(diào)用Swift叫确。
總結(jié):
1.保證項目中至少包含一個swift文件跳芳。
2.Product Module Name-Swift.h是自動生成的。
3.哪個OC文件中用到了Swift類竹勉,就需要在OC文件中import編譯器自動生成的Product Module Name-Swift.h飞盆。
文/VV木公子(簡書作者)
PS:如非特別說明,所有文章均為原創(chuàng)作品次乓,著作權(quán)歸作者所有吓歇,轉(zhuǎn)載轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),并注明出處票腰,所有打賞均歸本人所有城看!
如果您是iOS開發(fā)者,或者對本篇文章感興趣杏慰,請關(guān)注本人测柠,后續(xù)會更新更多相關(guān)文章!敬請期待缘滥!
如果有技術(shù)問題轰胁,歡迎加入QQ群進(jìn)行交流,群聊號碼:194236752朝扼。