1.創(chuàng)建橋接文件
首先我們直接在當前項目上新增加一個文件悍引,語言選擇swift傻谁,然后創(chuàng)建捌治,此時,會彈出一個框女坑,詢問你是否需要Xcode自動幫你創(chuàng)建一個橋接文件,當然我們選擇是啦晓勇!點擊“Create Bridging Header”
然后我們就發(fā)現堂飞,項目目錄下多了兩個文件:一個是我們創(chuàng)建的文件灌旧,另外一個是Xcode給我們創(chuàng)建的橋接文件:
但是別著急,看見了嗎绰筛,報錯啦枢泰!這是為什么呢?因為我新創(chuàng)建的文件是繼承了一個之前oc寫的類作為父類铝噩,但是其實swift并不知道這個類是誰衡蚂,此時Xcode為我們創(chuàng)建的橋接文件就應該發(fā)揮作用了,以后swift的類和oc的類要通信就靠它了骏庸,剛才那個紅叉怎么解決呢毛甲,別急,接下來就說這個問題具被。
2.oc 和swift通信的中間人
當然就是這個橋接文件了玻募。我們把swift 要引入的oc 的類,在這個文件里導入一姿,然后再Command+B 一下七咧,看,紅叉沒有了
以后叮叹,swift 要用到哪個oc 的類艾栋,import 到這個 橋接文件,這樣蛉顽,swift類就可以愉快得和oc 的類進行通信了蝗砾。
3.oc 文件使用swift
那反過來怎么辦呢?也很簡單携冤,在你需要使用的那個類里邊悼粮,import 這樣一個文件? “項目名-Swift.h”:
這樣oc 就可以訪問swift了。是不是so easy!
在這里我的項目是叫做 iHome曾棕,所以我在oc 類里導入的就是 iHome-Swift.h,后綴 “-Swift.h”? 不能變矮锈,按住Command鍵,點進這個 iHome-Swift.h 看到了什么睁蕾?這里邊是swift映射成可以被oc 識別的代碼。
據說這個 Xcode自動生成的橋接文件是可以刪除然后自己重建的债朵,寫成自己喜歡的名字子眶,放到一個固定的屬性就可以,具體可以參考:http://blog.csdn.net/fengsh998/article/details/34440159