上一篇中,我描述了swift工程框架的搭建,正好現在公司重新定需求開發項目,我準備用swift來完成,也好鞏固一下我的swift,但是在使用過程中,我們發現,有一些第三方是沒有swift版本,所以我們需要導入一些OC文件,來實現混合開發
oc中使用swift
首先,在工程的 Build Settings
中把 Defines Module
設爲 YES
.
然後,把 Product Module Name
設置爲項目工程的名字。
最後一步,在你的OC文件中導入 ProjectName-Swift.h
注意:ProjectName-Swift.h 這個文件是系統自己創建的,千萬不要手動創建。
在swift中使用oc
Swift代碼引用OC,需依靠 Objective-C bridging header
將相關文件暴露給Swift。
創建 Objective-C bridging header
有兩種方法:
1、當你在Swift項目中嘗試創建OC文件時,系統會自動幫你創建 Objective-C bridging header
.
此時除了 .h
、.m
文件之外,會額外多出一個叫做 項目工程名-Bridging-Header.h
的文件,這個文件中導入的類是可以暴露給Swift看到的。你要做的,只是#import XXXX
.
2、自己創建 Objective-C bridging header
File > New > File > (iOS or OS X) > Source > Header File
切記,名字 一定要 是 項目工程名-Bridging-Header
.
然後還有一步,在項目的 Build Settings
選項裏,要確保Swift Compiler
選項裏有這個 BridgingHeader
文件的設置,路徑必須指向文件本身,而不是目錄!