OC和Swift互调

前端之家收集整理的这篇文章主要介绍了OC和Swift互调前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、OC项目引入swift文件
如果是引入外部文件,直接将文件拖入项目即可,如果是自己新建swift文件,Xcode会提示是否新建一个桥接文件

在这里建议选择新建一个,它会生成一个XXX-Bridging-Header.h文件,里面可以导入OC的头文件,以便swift文件调用,一会在swift项目引入OC时会详细叙述

然后在需要用到swift的文件中导入下面代码

//xxx 是自己项目的名字,解释一下,这个.h是编译器生成的,直接引入即可
#import "XXX-Swift.h"

现在就可以调用拟引入的swift文件

二、swift项目引入OC文件
1、如果是新建OC文件,同样xcode会提示是否新建一个桥接文件XXX-Bridging-Header.h,xxx代表项目名称,这里我们选择新建桥接文件。在桥接文件中我们需要将我们导入的OC文件的头文件导入,当然并不是全部都导入,而是需要那个文件在swift中使用就导入那个文件。如下,我在swift文件中写了一个OC的person类


要想在swift文件中使用该person类,需要在刚才的桥接文件中导入改person类如下

好了,现在可以直接在swift文件中直接使用该Person类了。

2、还有一种情况,可能Xcode没有提示新建桥接文件,这是我们需要自己创建一个桥接文件方法如下 。
新建Header

设置名字,推荐设置成 xxx-Bridging-Header,因为这是系统默认的格式。创建完后需要进行配置这里提示一下,设置路径时,直接将该文件拖入那个文本框即可,但是我一般会在拖入之后将前面的Users/..../....路径删除,保留项目根路径,这样可以避免在移动项目位置时,路径产生麻烦。
好了,现在我们可以直接使用这个桥接文件了。

哦,对了,不管是swift引入OC还是OC引入swift,这个桥接文件都一样,说的都是同一个,配制方法也一样

猜你在找的Swift相关文章