在oc項目中添加swift檔案,並設定oc-swift混編

來源:互聯網
上載者:User
在項目中右鍵添加一個swift檔案,我添加的 LearnSwift.swift添加後Xcode彈出‘是否配置oc橋接標頭檔’的提示,點確認,系統自動產生一個 項目名-Bridging-Header.h的檔案,我的是 LearnSwift-Bridging-Header.h。

配置oc橋接標頭檔的提示 LearnSwift-Bridging-Header.h實質上是一個供swift使用的標頭檔,在這裡把所有要暴露給swift的oc標頭檔都添加進去,這樣寫swift的時候就可以直接使用那些oc的類和方法了。
因為swift本身沒有標頭檔,只有.swift;而oc有.h和.m檔案。有了這個聲明,.swift就可以直接使用oc的.h了

我的 LearnSwift-Bridging-Header.h檔案內容 接下來就可以直接在 LearnSwift.swift中寫swift代碼啦 ~ 隨便聲明一個類,打些log:

我的 LearnSwift.swift檔案內容
編譯直接通過,這就是在swift中使用oc類和方法了,一切順利。 在oc中使用swift,我在 AppDelegate.m中使用剛才建立的swift類,那麼先要引用swift標頭檔,即 #import "LearnSwift-Swift.h",然後在這個.m檔案中就可以任意使用swift建立的類和方法了:
LearnSwift *learnSwift = [[LearnSwift alloc] init];[learnSwift logsth:@"code from oc"];
編譯運行直接過。 輸出:
this is a log from swift : code from oc理解下 #import "LearnSwift-Swift.h"
其實是 項目名-Swift.h,這也是Xcode自動產生的,根據你寫的所有swift代碼,產生一個oc的.h檔案,進行類和方法的聲明,這樣在oc裡引用這個標頭檔後,就相當於引用了所有swift聲明,可以直接使用了。

相關文章

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.