oc與swift混編,OC呼叫swift,swift呼叫OC
阿新 • • 發佈:2018-12-20
1、oc工程呼叫swift-----自動建立橋接標頭檔案
建立一個oc工程:
設定Product Module Name = 工程名
建立一個swift檔案:
點選自動建立橋接標頭檔案:
設定Objective-C Bridging Header 如下圖:
至此,我們可以在oc中呼叫swift了
測試程式碼:
import Foundation
class Student: NSObject {
var name : String = "dzl"
var age : Int = 22
}
在oc中引入標頭檔案 "工程名-swift.h" 就可以使用swift中的類了
注:這個標頭檔案是不可見的
輸出:#import "ViewController.h" #import "OCuseSwift1-swift.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. Student * s1 = [[Student alloc] init]; NSLog(@"%@", s1.name); } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
2015-11-13 10:01:32.250 OCuseSwift1[1040:20007] dzl
此時swift也是可以引用OC的,只需將swift需要使用的oc類標頭檔案在橋接標頭檔案中引入即可,
2、oc工程呼叫swift-----手動建立橋接標頭檔案
首先建立一個oc工程,與上面相同
然後建立一個swift檔案,但是不選擇建立橋接標頭檔案,如圖:
然後手動建立橋接標頭檔案,就相當於建立一個普通的標頭檔案一樣,只是命名一定要嚴格按照規則:
工程設定中指定橋接標頭檔案:
經測試,oc引用swift或者swift引用oc都是可以的,測試方法與上面相同,這裡不再贅述。
3、swift工程呼叫-----自動建立橋接標頭檔案 和 手動建立橋接標頭檔案,基本與上面操作一直,不再詳述
其實橋接標頭檔案裡面引入oc標頭檔案,是為了swift可以訪問oc檔案,
在oc中引入 工程名-swift.h 檔案 是為了oc可以訪問swift,但這個檔案是不可見的,不過可以通過command+滑鼠左鍵檢視該檔案