在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聲明,可以直接使用了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.