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

問(wèn)題回顧

在創(chuàng)建iOS project時(shí)狈谊,一般情況下我們會(huì)根據(jù)項(xiàng)目開(kāi)發(fā)時(shí)想要使用的開(kāi)發(fā)語(yǔ)言來(lái)決定創(chuàng)建Swift project還是OC project。在近期的項(xiàng)目開(kāi)發(fā)中主要采用的是swift語(yǔ)言沟沙,于是在需要用到之前的OC代碼時(shí)考慮的問(wèn)題便是如何在Swift中使用OC河劝,這一點(diǎn)Xcode已經(jīng)為我們提供了相應(yīng)的方案。
隨著Swift開(kāi)發(fā)的組件變得越來(lái)越多矛紫。周末閑下來(lái)的時(shí)候想把近期自己用Swift開(kāi)發(fā)的組件運(yùn)用到之前的oc項(xiàng)目中赎瞎,在使用過(guò)程中卻產(chǎn)生了這樣的問(wèn)題由于Swift并沒(méi)有.h文件的概念。我要怎么引入Swift寫(xiě)的類到OC的.m文件中颊咬。

swift 與 oc 代碼管理方式的異同

在講清楚上面問(wèn)題之前我們先來(lái)看一下swift與oc代碼管理方式上面的不同之處:

  • 1务甥、Swift的代碼默認(rèn)是使用module管理的牡辽,同樣這里我們也需要把我們的Swift代碼作為一個(gè)module暴露給我們的OC工程。
  • 2敞临、OC代碼采用的是和C語(yǔ)言一樣的代碼管理方式?jīng)]有namespace的概念态辛。

在OC工程中制作Swift的module并將其暴露給OC工程

要實(shí)現(xiàn)該功能我們首先需要對(duì)Project中的target編譯相關(guān)的屬性進(jìn)行更改。具體步驟如下:

  • 1挺尿、打開(kāi)工程的target進(jìn)入到Build settings 界面
    選擇 all & combined 奏黑,隨后在檢索框輸入pack。
    更改packaging模塊下的 Defines module 為YES 编矾。
    并為Product Module Name 起一個(gè)名字熟史,默認(rèn)為工程的target名稱。
  • 2窄俏、創(chuàng)建或?qū)雜wift類文件到工程中蹂匹,在oc中導(dǎo)入步驟一中module name 所生成的[modulename]-swift.h文件。
    Tips:

如果Swift類想要被OC發(fā)現(xiàn)裆操,必須繼承自NSObject并且使用public標(biāo)記怒详,并且該類中想要被OC訪問(wèn)的方法也必須使用public標(biāo)記,
具體知識(shí)可以去看Swift的訪問(wèn)控制
原因:Swift的代碼對(duì)于OC來(lái)說(shuō)是作為一個(gè)module存在的踪区。

上文只是對(duì)自己在oc代碼中引入swift過(guò)程中所涉及的步驟的一個(gè)總結(jié)昆烁,更為全面的解釋請(qǐng)查看蘋(píng)果的官方文檔,Swift and Objective-C in the Same Project

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末缎岗,一起剝皮案震驚了整個(gè)濱河市静尼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌传泊,老刑警劉巖鼠渺,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異眷细,居然都是意外死亡拦盹,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)溪椎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)普舆,“玉大人,你說(shuō)我怎么就攤上這事校读≌勇拢” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵歉秫,是天一觀的道長(zhǎng)蛾洛。 經(jīng)常有香客問(wèn)我,道長(zhǎng)雁芙,這世上最難降的妖魔是什么轧膘? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任钞螟,我火速辦了婚禮,結(jié)果婚禮上扶供,老公的妹妹穿的比我還像新娘筛圆。我一直安慰自己,他們只是感情好椿浓,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布太援。 她就那樣靜靜地躺著,像睡著了一般扳碍。 火紅的嫁衣襯著肌膚如雪提岔。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,541評(píng)論 1 305
  • 那天笋敞,我揣著相機(jī)與錄音碱蒙,去河邊找鬼。 笑死夯巷,一個(gè)胖子當(dāng)著我的面吹牛赛惩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播趁餐,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼喷兼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了后雷?” 一聲冷哼從身側(cè)響起季惯,我...
    開(kāi)封第一講書(shū)人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎臀突,沒(méi)想到半個(gè)月后勉抓,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡候学,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年藕筋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片梳码。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡隐圾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出边翁,到底是詐尸還是另有隱情翎承,我是刑警寧澤硕盹,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布符匾,位于F島的核電站,受9級(jí)特大地震影響瘩例,放射性物質(zhì)發(fā)生泄漏啊胶。R本人自食惡果不足惜甸各,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望焰坪。 院中可真熱鬧趣倾,春花似錦、人聲如沸某饰。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)黔漂。三九已至诫尽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間炬守,已是汗流浹背牧嫉。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留减途,地道東北人酣藻。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像鳍置,于是被迫代替她去往敵國(guó)和親辽剧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 本文版權(quán)歸作者所有墓捻,如需轉(zhuǎn)載請(qǐng)聯(lián)系孟祥月CSDN博客:http://blog.csdn.net/mengxiang...
    匠金科技閱讀 650評(píng)論 0 0
  • 最近公司的項(xiàng)目開(kāi)始計(jì)劃使用Swift抖仅,由于原先的工程都是使用OC編寫(xiě)的,不可能一下全部轉(zhuǎn)換成Swift砖第,所以采用O...
    hope7th閱讀 902評(píng)論 0 0
  • 最近公司的項(xiàng)目開(kāi)始計(jì)劃使用Swift撤卢,由于原先的工程都是使用OC編寫(xiě)的,不可能一下全部轉(zhuǎn)換成swift梧兼,所以采用O...
    樊二哈閱讀 557評(píng)論 0 0
  • 簡(jiǎn)介 由于現(xiàn)在用到swift放吩,做了一些基礎(chǔ)性的研究,由于原先的工程都是使用OC編寫(xiě)的羽杰,不可能一下全部轉(zhuǎn)換成Swif...
    默默的前行閱讀 514評(píng)論 0 1
  • 原文地址幾天前考赛,我開(kāi)始新的App的開(kāi)發(fā)了惕澎。終于有機(jī)會(huì)把swift用在實(shí)戰(zhàn)中了,也學(xué)到了之前純學(xué)語(yǔ)法時(shí)沒(méi)有機(jī)會(huì)獲得的...
    代碼干貨閱讀 1,184評(píng)論 1 2