OC 和Swift互相混編調用

此方案是swift3,現(xiàn)在swift4出來了,估計不適用了 ,特此聲明,最近有點忙(出軌去了) 沒法實時更新了,抱歉

一 ) OC 添加swift 文件,Swift調用OC

  • 1)已有的OC項目new file 創(chuàng)建swift 文件
  • 2)出現(xiàn)如下所示的彈框
    配置oc橋接頭文件的提示
    ZhuRenWong-Bridging-Header
  • 3)點擊Create Bridging Header
  • 4)自動生成 如下文件
Snip20160714_2.png
  • 5)橋接文件中添加OC的.h文件(如上圖所示)
  • 6)swift 文件中調用OC 方法 如下圖所示
    Snip20160714_3.png

    附代碼:swift調用OC
//
//  test.swift
//  ZhuRenWong
//
//  Created by HLH on 16/7/14.
//  Copyright ? 2016年 qitian. All rights reserved.
//

import Foundation

class learnSwift : NSObject{
    func logStr(str:String){
        NSLog("這是一swift 的log:%@", str)
        let qtcom = QTCommonTools()
        qtcom.showAlert("henhao");
    }
}

二) OC中調用Swift 方法

  1. 在OC 文件中引入頭文件
    #import "ZhuRenWong-Swift.h"其中ZhuRenWong是項目的名稱,后面的-Swift.h 是固定的寫法
  2. 寫OC的代碼
    創(chuàng)建對象
#import "ZhuRenWong-Swift.h"

- (void)testSwift{
  //learnSwift 是Swift類
    learnSwift * learnS = [[learnSwift alloc] init];
    [learnS logStr:@"code from oc"];
}

如圖所示


OC調用Swift
  • 上述方法親測都可以編譯通過.

導入ZhuRenWong-Swift.h就可以使用swift 類的原因?

答:我們創(chuàng)建一個類,在ZhuRenWong-Swift.h中會生成OC對應的類,xcode為我們做了轉化,所以我們只需要導入ZhuRenWong-Swift.h就可以引用swift中的類
詳情如下圖所示

ZhuRenWong-Swift.h

好文推薦:
在oc項目中添加swift文件,并設置oc-swift混編


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容