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

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+鼠标左键查看该文件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言: Swift语言出来后,可能新的项目直接使用Swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好...
    疯狂的电脑阅读 2,356评论 0 9
  • swift强势来袭,想要紧跟脚步,但之前OC的工程推倒重来在时间和实践上都有点伤神,混编就是这个过渡的桥梁,使...
    _skye阅读 5,278评论 8 22
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,261评论 4 61
  • 小城倾兮阅读 153评论 0 0
  • 听说“我很生气”和“我知道我很生气”是两码事。 如果说是两码事的话,我想前者有更多感性成分,而后者则是实打实的理性...
    艾萱_刘阅读 509评论 2 3