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