OC項(xiàng)目中使用Swift

簡介

由于現(xiàn)在用到swift,做了一些基礎(chǔ)性的研究,由于原先的工程都是使用OC編寫的,不可能一下全部轉(zhuǎn)換成Swift,所以采用OC與Swift混編的方式是最好的選擇。這篇文章只是一個(gè)簡單的介紹,并沒有太高深的知識(shí)。

開始

我在已經(jīng)的創(chuàng)建OC的工程,當(dāng)然你可以使用新創(chuàng)建的OC工程,如果我們想要在OC工程中使用Swift的代碼,Swift的代碼默認(rèn)是使用module管理的,同樣這里我們也需要把我們的Swift代碼作為一個(gè)module暴露給我們的OC工程,修改下面的配置:


屏幕快照 2017-03-24 下午1.54.12.png

上面的修改了一個(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中添加如下的代碼(解釋都在注釋里面了):

屏幕快照 2017-03-24 下午2.20.26.png

我們在我們想要調(diào)用Swift類的方法里面引入頭文件:”Product Module Name-Swift.h”,其中Product Module Name替換成在上面配置項(xiàng)中顯示的內(nèi)容,例如:


屏幕快照 2017-03-24 下午2.21.09.png
屏幕快照 2017-03-24 下午2.28.25.png

這樣我們就能夠在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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容