OC引入Swift,混編

一、OC中引入Swift

最近在研究swift時候,需要實現OC與Swift混編,因此總結了以下幾個步驟實現OC中引入Swift。
下面說一下詳細的步驟:
1.創建一個 ''aaaa'' 的 OC 的工程。
2.創建一swift文件。


創建一個swift文件

3.創建一個名字為"LearnSwift"的swift文件。


LearnSwift.png

4.在創建的過程中會顯示如下:
是否添加橋接文件

5.點擊"Create Bridging Header",這時就會創建成功。(ps:一般情況下,要是OC中引入Swift的話不用創建這個橋接文件也沒事)。
6.為了引入swift文件中的東西,我先在LearnSwift中創建如下兩個類:
class LearnSwift :  NSObject {
    func logsth(strToLog:NSString)  {
        NSLog("年輕人我跟你說,想當年我裝逼的時候你還是一滴液體");
    }
}

public class Test: NSObject {
    public func log() {
        print("這是Swift的方法")
    }
}

7.我在"ViewController.m"里面,引入如下頭文件。
#import "aaaa-Swift.h"(PS:格式必須正確#import "工程名-Swift.h",我創建的''aaaa''工程)。

8.在 我的工程 -> Buid Settings -> Packaging ->Dedines Module (改為" YES ")
效果如下:


設置

9.在@implementation之前(或者在@interface之前),引用LearnSwift 里面 的類時.(PS:一般引入類是繼承的NSObject)

LearnSwift *learnSwift;
Test *test;

10.在-(void)viewDidLoad { }方法里面:

- (void)viewDidLoad {
    [super viewDidLoad];

    learnSwift = [[LearnSwift alloc]init];
    [learnSwift logsth:@"asaad"];
    NSLog(@"**************************************\n");
    test = [[Test alloc]init];
    [test  log];
    NSLog(@"**************************************\n");
}

打印結果如下:


打印結果

11.在ViewControlle.m文件里面添加如下:

總體

二、Swift中引入OC

直接在橋文件里面寫上需要引入的類名的 .h文件即可,如下:


Swift引入OC

參考鏈接 :
1.http://www.lxweimin.com/p/4de0dff6c182
2.http://www.lxweimin.com/p/1ca12a7a816f

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

推薦閱讀更多精彩內容

  • 前言: Swift語言出來后,可能新的項目直接使用Swift來開發,但可能在過程中會遇到一些情況,某些已用OC寫好...
    瘋狂的電腦閱讀 2,336評論 0 9
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,200評論 4 61
  • 1、創建一個Swift或者是OC的工程 下面以Swift工程舉例,OC工程操作是一樣的 創建好的時候自動生成我們熟...
    LHsunshine閱讀 435評論 0 1
  • 其實,你一直都在,只是換了個地方生活。 不用再煩惱,不用再憂傷。 不用再每天疲于奔波,不用再每天驚醒于起床號角。 ...
    白小白的白閱讀 242評論 0 1
  • 不是所有的愛都一往情深 不是所有的溫暖都會有回答 只有留不住的沙 沒有留不住的影子 歲月立在樹梢數星星 被淹沒在黑...
    田萍閱讀 141評論 0 0