怎麼讓一個項目裡swift與OC可以相容混合開發?,swiftoc

來源:互聯網
上載者:User

怎麼讓一個項目裡swift與OC可以相容混合開發?,swiftoc

在蘋果推出了swift語言之後,很多人擔心OC很快會被取代,但是蘋果方面表示2年內不會摒棄OC。但現在也快了啊。有的Team Dev已經開始基於swift開發,但是有很多舊的架構還沒來得及用swift寫出來,並且某些swift的功能你還不會寫,想用OC寫。因此在swift開發的程式中時不時會用到OC的類,怎麼讓兩門語言在一個程式裡無縫銜接? 其實很方便

如果你不是在董鉑然部落格園看到本文請 點擊查看原文

這是一個建立的swift項目,裡面直接拖入了一個SVProgressHUD架構

因為swift語言裡,同一個項目內的檔案基本會放在同一個命名空間下,所以用項目中某類的方法都是不用匯入標頭檔的,這的確很方便。

但是拖入了OC架構後想用OC架構裡的方法時,你匯入架構的標頭檔到ViewController.swift 會報錯的,這就不了。

解決方案是 建立一個Header File檔案

 

建好之後,在這個檔案裡匯入架構。

 

接下來,到項目部署裡引用此檔案

模仿圖中的路徑,就是這個項目的檔案夾下的Head File檔案

cmd+B 變異一下 如果success就說明到這你都沒有寫錯。

 

然後在ViewController.swift檔案裡,用swift的格式來調用這個方法

比如寫一個點擊方法(切記不用匯入標頭檔!只需要直接寫這個方法)

    override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {        SVProgressHUD.show()    }

 

運行後點擊一下

 

到此就完成了OC與swift之間的橋接。HUD指標架構已經和swift項目無縫銜接。 後續如果還有別的OC類 那就把標頭檔匯入到這個 Demo-Bridge.h檔案裡,就能在項目的其他地方用swift的文法(也就是點文法)調用了。 這裡要切記。1.不要用OC文法調用。 2.不要在swift尾碼的檔案裡匯入任何標頭檔。

如果你不是在董鉑然部落格園看到本文請 點擊查看原文

當然這篇文章用到的環境是最新的XCode6.3 beta2.  模擬器和SDK都是iOS8.3。 如果低版本的Xcode在橋接時遇到種種問題,請升級或下載到最新版本開發,因為swift語言每個版本還有微調的。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.