swift与oc混编 相互引用

  • oc引用swift
  1. 通过cocoaclass新建一个swift文件
    swift与oc混编 相互引用_第1张图片
    image
  2. finish->create,填好文件名 ,->finish,弹出是否要创建桥接文件的提示框
    swift与oc混编 相互引用_第2张图片
    image
  3. 如果没有弹出是否创建桥接文件的提示框,则进入配置工程里看看此处是否为空,如果不是空的,就删掉,因为是否创建桥接文件只会弹出一次,若你已经选择了一次not create,则下次不会再提示,想要再次创建桥接文件需在这里将设置清空,再从1开始
    swift与oc混编 相互引用_第3张图片
    image
  4. 建好后如图所示
    swift与oc混编 相互引用_第4张图片
    image
  5. 更改工程里的配置
    swift与oc混编 相互引用_第5张图片
    image
  6. 至此,文件创建好了,配置也做好啦,开始上代码,在需要引用swift的oc文件中导入头文件

    #import "test-Swift.h"。(上图中注意的名字(一般为工程名)-Swift.h)

    [
    复制代码

    ](javascript:void(0); "复制代码")

    #import "ViewController.h"

    import "test-Swift.h"

    @interface ViewController () @end

    @implementation ViewController - (void)viewDidLoad {

    TestSwift *ar = [[TestSwift alloc] init];
    
    [super viewDidLoad];
    

    }

    [
    复制代码

    ](javascript:void(0); "复制代码")

    oc中引用swift完毕

  • swift引用oc,如在TestSwift中要引用ViewController这个类
  1. 跟上面1-5步骤一样

  2. 在桥接文件里引入要引用的OC类的头文件,

    //
    // Use this file to import your target's public headers that you would like to expose to Swift. // #include "ViewController.h"

  3. 在TestSwift文件里进行引用

    import UIKit class TestSwift: NSObject {
    let vc:ViewController = ViewController()
    }

你可能感兴趣的:(swift与oc混编 相互引用)