基於Swift的iOS應用程序開發:創建Swift與Objective-C之間的橋接頭文件

由於很多年以來程序開發人員都是以Objective-C語言作爲iOS應用程序的官方開發語言來進行工作的,而Swift目前也只發展到了3.x版本,特別是3.x與2.x之間還存在着巨大的差異,其中相當一部分甚至是基礎語法差異,更不要提Swift語言目前還缺乏各種強力的庫來做支撐(這一點上Java還是相當強悍的,各種官方和第三方庫滿天飛),所以現階段Swift應用程序開發還會經常需要調用Objective-C的庫-----蘋果官方也認爲這是一種值得推薦的方式。


既然Swift可以直接調用Objective-C的庫,那我們就需要在它們之間架設一個“橋樑”-----橋街頭文件。

1、在xcode項目中新建Objective-C源文件:

在工程中添加一個新的源文件,注意文件類型必須選擇“Objective-C File”,如下圖所示


爲這個新文件添加一個文件名,實際上這個文件名可以任意填寫,因爲我們在後續開發過程中不會用到它。如下圖所示:


這一步非常關鍵,根據xcode的提示,必須選擇“Create Bridging Header”,如下圖所示:


2、刪除Objective-C源文件

創建完文件後,你會看到在工程中多了兩個新的文件,一個以“.m”爲後綴,這個是Objective-C的源文件,我們不需要用到它,可以直接刪除。
另一個文件以“.h”爲後綴,這個就是我們要用到的橋街頭文件了

3、在橋街頭文件中引入Objective-C庫

打開橋街頭文件,你會看到一句英文註釋:
Use this file to import your target's public headers that you would like to expose to Swift.
大致的意思就是“用這個文件來將導入那些你想要在Swift中使用的程序的頭文件”
然後你就可以在這個文件中使用import關鍵字來進行程序導入操作了。

舉個例子,如果我們想對一個字符串進行MD5加密,我們無需自己去編寫Swift程序,也不需要到Git上去翻找,因爲Objective-C就有現成的庫。所以我們只需要在頭文件中引用一下,就像這樣:
#import <CommonCrypto/CommonDigest.h>



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章