美文网首页@IT·互联网程序员
OC与Swift混编,OC调用Swift,Swift调用OC

OC与Swift混编,OC调用Swift,Swift调用OC

作者: shyizne | 来源:发表于2017-04-06 14:54 被阅读0次

    1、oc工程调用swift-----自动创建桥接头文件

    创建一个oc工程:

    设置Product Module Name = 工程名

    创建一个swift文件:

    点击自动创建桥接头文件:

    设置Objective-C Bridging Header 如下图:

    至此,我们可以在oc中调用swift了

    测试代码:

    importFoundation

    classStudent: NSObject {

    varname : String ="dzl"

    varage : Int =22

    }

    在oc中引入头文件  "工程名-swift.h" 就可以使用swift中的类了

    注:这个头文件是不可见的

    #import"ViewController.h"

    #import"OCuseSwift1-swift.h"

    @interfaceViewController()

    @end

    @implementationViewController

    - (void)viewDidLoad {

    [superviewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    Student * s1 = [[Student alloc] init];

    NSLog(@"%@", s1.name);

    }

    - (void)didReceiveMemoryWarning {

    [superdidReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

    }

    @end

    输出:

    2015-11-1310:01:32.250OCuseSwift1[1040:20007] dzl

    此时swift也是可以引用OC的,只需将swift需要使用的oc类头文件在桥接头文件中引入即可,

    2、oc工程调用swift-----手动创建桥接头文件

    首先创建一个oc工程,与上面相同

    然后创建一个swift文件,但是不选择创建桥接头文件,如图:

    然后手动创建桥接头文件,就相当于创建一个普通的头文件一样,只是命名一定要严格按照规则:

    工程设置中指定桥接头文件:

    经测试,oc引用swift或者swift引用oc都是可以的,测试方法与上面相同,这里不再赘述。

    3、swift工程调用-----自动创建桥接头文件 和 手动创建桥接头文件,基本与上面操作一直,不再详述

    其实桥接头文件里面引入oc头文件,是为了swift可以访问oc文件,

    在oc中引入   工程名-swift.h   文件  是为了oc可以访问swift,但这个文件是不可见的,不过可以通过command+鼠标左键查看该文件

    相关文章

      网友评论

        本文标题:OC与Swift混编,OC调用Swift,Swift调用OC

        本文链接:https://www.haomeiwen.com/subject/gmkqattx.html