05.06 iOS oc和swift混編

swift 語言是蘋果公司在2014年的WWDC大會上發佈的全新的編程語言。Swift語言繼承了C語言以及Objective-C的特性,且克服了C語言的兼容性問題。Swift語言採用安全編程模式,且引入了多種新功能,使得編程工作更加簡便,靈活!今天小編帶大家帶來oc和swift混編的知識點

作為一個開發者,有一個學習的氛圍跟一個交流圈子特別重要這是一個我的iOS交流群:687528266,不管你是小白還是大牛歡迎入駐 ,分享BAT,阿里面試題、面試經驗,討論技術, 大家一起交流學習成長!

新的項目直接使用swift來開發,但可能在過程中會遇到一些情況,某些已用OC寫好的類或封裝好的模塊,不想再在swift 中再寫一次,哪就使用混編。這個在iOS8中是允許的。

先中簡單的入手,先研究在同一個工程目錄下混合使用的情況。


為了演示。先準備兩個類

第一種:在swift的類裡面調用oc的類

這個需要一個橋接文件 ,(感覺類似於oc裡面的頭文件)

首先 新建一個工程 開發語言選擇swift

iOS oc和swift混編

新建一個swift工程

然後創建一個OC的類

iOS oc和swift混編

創建一個OC的類

在創建的時候會提示出現創建一個橋接文件

iOS oc和swift混編

此時 Swift工程裡面就多了個OC的類和一個橋接文件

iOS oc和swift混編

同樣的,當你知道這個swift搜索頭文件的關係後,就不需要再理會這個-Bridging-Header.h的文件了。完全可以手工建一個並取自己喜歡的名字。如:

iOS oc和swift混編

然後在橋接文件裡面導入OC累的頭文件名稱

iOS oc和swift混編

這樣 就可以在Swift的文件裡面直接使用OC的類了,但是Swift得類裡面的語法還是Swift

iOS oc和swift混編

swift的類裡面使用OC的類

自此 就實現了Swift的類調用OC的類了!

第二種OC類調用Swift

oc調用swift的設置方法如下:

1、確保將框架 target 的 Build Settings > Packaging > Defines Module 設置為 Yes

2、將 build setting 中的 Product Module Name 修改為工程名。

之後的項目會自動生成swift的頭文件頭文件名稱為Product Module Name-Swift.h (Product Module Name為工程名)

所有的swift都會在這個頭文件裡

接下來直接調用方法就可以了,不再需要引入相關頭文件了

那麼怎麼在OC的類調用Swift的文件呢?

我們都知道 在OC裡面 引用別的文件內容時 需要導入頭文件,但是swift的類並沒有頭文件,那怎麼辦呢?其實,每個swift的類都有頭文件 我們可以在這兒查看到.

iOS oc和swift混編

然後我們只需要在OC的類的.m文件裡面導入 "工程名"加上 -swift.h (固定格式) 就可以在OC的類裡面是有Swift的累了 而且還是使用OC語法!

iOS oc和swift混編

在OC的類引用Swift的類

寫有不足的地方,可以聯繫曉雯的微信。請各位大佬多多指教!!!

(其實做為一個開發者,有一個學習的氛圍跟一個交流圈子特別重要,這是一個我的iOS學習交流群687528266,不管你是小白還是大牛歡迎入駐,大家一起交流學習,加群私聊群主就可以領取2018最全梳理的面試寶典和資料)以及下圖這份資料,希望你能找到理想中的工作

iOS oc和swift混編


分享到:


相關文章: