OC與Swift混編②

寫在前面: Swift 代碼訪問 Objective-C 代碼篓吁,或者反之谷誓。導(dǎo)入外部框架時腻窒,請先確保 TARGETS --> Build Settings --> Packaging --> Defines Module 設(shè)置為 Yes效斑。

在一個工程中導(dǎo)入一些 Objective-C 文件供 Swift 代碼使用時,你需要依賴與 Objective-C 的橋接頭文件(Bridging-Header)來暴露給 Swift峻贮。當(dāng)你添加 Swift 文件到現(xiàn)有的 Objective-C 工程(或反之)時,Xcode 會自動提示是否創(chuàng)建橋接文件应闯,點(diǎn)擊Yes即可創(chuàng)建以 Bridging-Header 為后綴的橋接文件


20160726185623280.png

注意:1.確保在 Build Settings
-> Objective-C Bridging Header 中設(shè)置橋接文件的自身真實(shí)路徑(文件夾中的路徑)纤控,而不是它所在的目錄,如 工程名/橋接文件名碉纺。
2.TARGETS --> Build Settings --> Embedded Content Contains Code 設(shè)置為 Yes船万。

**Swift 調(diào)用 OC : **
1.在橋接文件中導(dǎo)入你需要使用的OC頭文件,即可在整個工程下的Swift文件中用swift的語法使用OC的代碼骨田,就像使用系統(tǒng)自帶的Swift類一樣耿导。
若 #import "xxxxx.h" 時提示 "xxxxx.h" file not found 則設(shè)置 xxxxx.h 文件的Target Membership 為 Public

***OC 調(diào)用 Swift : ***
1.在 swift 類名前加上 @objc 關(guān)鍵字 ,如果不行态贤,在@objc后再加上 public 關(guān)鍵字舱呻。(我使用時單加一個 public 關(guān)鍵字是沒有問題的)
2.在需要調(diào)用Swift的OC類中導(dǎo)入 #import "Product Mould Name -Swift.h",當(dāng)這樣導(dǎo)入提示:file not found 時悠汽,嘗試將頭文件改為: #import "Product Mould Name/Product Name -Swift.h" 箱吕。
Product Name 和 Product Mould Name 可以在工程下 TARGETS --> Build Settings --> Packaging 條目下找到芥驳,導(dǎo)入上面Swift.h 的頭文件后可以使用工程下所有的Swift類,前提是要滿足第1點(diǎn)茬高。
CMD + 左鍵 點(diǎn)擊進(jìn)入Swift.h 的頭文件兆旬,你會發(fā)現(xiàn)原有的被 public 修飾的 Swift 類已被自動編譯成 OC的代碼安靜的躺在那里等你調(diào)用(如果已經(jīng)在需要的類名前加上 public 修飾,還是沒有發(fā)現(xiàn)那個類雅采,請 CMD+B編譯一下)爵憎,需要調(diào)用Swift 的屬性也是一樣的道理。

注意;楣稀1摹!
注意0涂獭S拚 !
注意:恪Aち取!

2017.6.2更新:

Setting.png

1.若需要自行創(chuàng)建橋接文件柠座,創(chuàng)建好文件后需將文件拉至圖中1處(讓Xcode知道橋接文件的路徑)
2.OC調(diào)用Swift使用的頭文件名稱為圖中2指向處名稱邑雅。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市妈经,隨后出現(xiàn)的幾起案子淮野,更是在濱河造成了極大的恐慌,老刑警劉巖吹泡,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件骤星,死亡現(xiàn)場離奇詭異,居然都是意外死亡爆哑,警方通過查閱死者的電腦和手機(jī)洞难,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來揭朝,“玉大人队贱,你說我怎么就攤上這事√陡ぃ” “怎么了露筒?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長敌卓。 經(jīng)常有香客問我慎式,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任瘪吏,我火速辦了婚禮癣防,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘掌眠。我一直安慰自己蕾盯,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布蓝丙。 她就那樣靜靜地躺著级遭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪渺尘。 梳的紋絲不亂的頭發(fā)上挫鸽,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天,我揣著相機(jī)與錄音鸥跟,去河邊找鬼丢郊。 笑死,一個胖子當(dāng)著我的面吹牛医咨,可吹牛的內(nèi)容都是我干的枫匾。 我是一名探鬼主播,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼拟淮,長吁一口氣:“原來是場噩夢啊……” “哼干茉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起很泊,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤等脂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后撑蚌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡搏屑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年争涌,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辣恋。...
    茶點(diǎn)故事閱讀 40,769評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡亮垫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出伟骨,到底是詐尸還是另有隱情饮潦,我是刑警寧澤,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布携狭,位于F島的核電站继蜡,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜稀并,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一仅颇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧碘举,春花似錦忘瓦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蝙场,卻和暖如春凌停,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背李丰。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工苦锨, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人趴泌。 一個月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓舟舒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親嗜憔。 傳聞我的和親對象是個殘疾皇子秃励,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評論 2 361

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

  • 概述 利用runtime特性實(shí)現(xiàn)iOS項(xiàng)目的組件化開發(fā),是由@casatwy大神提出來的吉捶,在他的博客中具體介紹...
    Mr杰杰閱讀 1,612評論 2 9
  • 1.愛上讀書 001了解作者 了解作者的人生經(jīng)歷夺鲜,從內(nèi)心上認(rèn)同他,進(jìn)而對他的文字作品產(chǎn)生期待呐舔。 002 “游牧式”...
    咿呀作語閱讀 117評論 4 2
  • 小時候币励,面對未知的世界,我們有著各種好奇珊拼;長大后食呻,我們學(xué)到越多的知識,產(chǎn)生了更多的問題澎现。世界的神秘?cái)?shù)不勝數(shù)仅胞,生命的...
    熊蒂南閱讀 271評論 0 0
  • 最近不知道怎么了,無論是母豬還是仔豬都腹瀉而且傳染性極強(qiáng)剑辫,一窩拉第二天變了四五窩拉干旧,打針都沒用。我懷疑是流行性腹...
    承思而行閱讀 165評論 0 0