簡介
由于現(xiàn)在用到swift氓奈,做了一些基礎(chǔ)性的研究,由于原先的工程都是使用OC編寫的鼎天,不可能一下全部轉(zhuǎn)換成Swift舀奶,所以采用OC與Swift混編的方式是最好的選擇。這篇文章只是一個(gè)簡單的介紹斋射,并沒有太高深的知識育勺。
開始
我在已經(jīng)的創(chuàng)建OC的工程,當(dāng)然你可以使用新創(chuàng)建的OC工程罗岖,如果我們想要在OC工程中使用Swift的代碼涧至,Swift的代碼默認(rèn)是使用module管理的,同樣這里我們也需要把我們的Swift代碼作為一個(gè)module暴露給我們的OC工程桑包,修改下面的配置:
上面的修改了一個(gè)配置項(xiàng)化借,有一個(gè)Product Module Name在后面會(huì)使用。
創(chuàng)建一個(gè)swift文件
上圖中的Subclass of一定要設(shè)置為NSObject或其子類捡多,否則OC工程將不會(huì)找到該類蓖康。
點(diǎn)擊確認(rèn)后會(huì)選擇保存路徑,點(diǎn)擊Create垒手,出現(xiàn)如下界面:
這個(gè)界面是詢問是否創(chuàng)建橋接的頭文件蒜焊,這個(gè)文件在Swift調(diào)用OC代碼的時(shí)候比較管用,但是在OC中調(diào)用Swift的時(shí)候我發(fā)現(xiàn)沒有什么卵用科贬。
選擇Don’t Create按鈕泳梆。
在Test.swift中添加如下的代碼(解釋都在注釋里面了):
我們在我們想要調(diào)用Swift類的方法里面引入頭文件:”Product Module Name-Swift.h”,其中Product Module Name替換成在上面配置項(xiàng)中顯示的內(nèi)容,例如:
這樣我們就能夠在OC中使用Swift的代碼了榜掌,最后還要說明一點(diǎn):”Product Module Name-Swift.h”(例子中的是ProjectComtus-Swift.h)优妙,是由編譯器自動(dòng)生成的,如果import后沒有提示憎账,編譯一下套硼。并且只有在工程中包含至少一個(gè)Swift文件的時(shí)候,才會(huì)自動(dòng)生成這個(gè)文件胞皱,所以如果工程中如果沒有Swift文件的時(shí)候邪意,就算在配置中設(shè)置對了九妈,import該文件也會(huì)報(bào)錯(cuò)。
本文版權(quán)歸作者所有:http://blog.csdn.net/mengxiangyue
獨(dú)立博客:http://mengxiangyue.com