OC和Swift互调
2016-06-06 00:00
316 查看
摘要: 记录一下学习过程
一、OC项目引入swift文件
如果是引入外部文件,直接将文件拖入项目即可,如果是自己新建swift文件,Xcode会提示是否新建一个桥接文件
![](http://static.oschina.net/uploads/space/2016/0606/183316_bOD1_2706881.png)
在这里建议选择新建一个,它会生成一个XXX-Bridging-Header.h文件,里面可以导入OC的头文件,以便swift文件中调用,一会在swift项目引入OC时会详细叙述
然后在需要用到swift的文件中导入下面代码
现在就可以调用拟引入的swift文件了
二、swift项目引入OC文件
1、如果是新建OC文件,同样xcode会提示是否新建一个桥接文件XXX-Bridging-Header.h,xxx代表项目名称,这里我们选择新建桥接文件。在桥接文件中我们需要将我们导入的OC文件的头文件导入,当然并不是全部都导入,而是需要那个文件在swift中使用就导入那个文件。如下,我在swift文件中写了一个OC的person类
![](http://static.oschina.net/uploads/space/2016/0606/182015_iepe_2706881.png)
要想在swift文件中使用该person类,需要在刚才的桥接文件中导入改person类如下
![](http://static.oschina.net/uploads/space/2016/0606/182351_pYTD_2706881.png)
好了,现在可以直接在swift文件中直接使用该Person类了。
2、还有一种情况,可能Xcode没有提示新建桥接文件,这是我们需要自己创建一个桥接文件,方法如下 。
新建Header
![](http://static.oschina.net/uploads/space/2016/0606/183239_0qxD_2706881.png)
设置名字,推荐设置成 xxx-Bridging-Header,因为这是系统默认的格式。创建完后需要进行配置
![](http://static.oschina.net/uploads/space/2016/0606/183840_vTsb_2706881.png)
这里提示一下,设置路径时,直接将该文件拖入那个文本框即可,但是我一般会在拖入之后将前面的Users/..../....路径删除,保留项目根路径,这样可以避免在移动项目位置时,路径产生麻烦。
好了,现在我们可以直接使用这个桥接文件了。
哦,对了,不管是swift引入OC还是OC引入swift,这个桥接文件都一样,说的都是同一个,配制方法也一样
一、OC项目引入swift文件
如果是引入外部文件,直接将文件拖入项目即可,如果是自己新建swift文件,Xcode会提示是否新建一个桥接文件
![](http://static.oschina.net/uploads/space/2016/0606/183316_bOD1_2706881.png)
在这里建议选择新建一个,它会生成一个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类
![](http://static.oschina.net/uploads/space/2016/0606/182015_iepe_2706881.png)
要想在swift文件中使用该person类,需要在刚才的桥接文件中导入改person类如下
![](http://static.oschina.net/uploads/space/2016/0606/182351_pYTD_2706881.png)
好了,现在可以直接在swift文件中直接使用该Person类了。
2、还有一种情况,可能Xcode没有提示新建桥接文件,这是我们需要自己创建一个桥接文件,方法如下 。
新建Header
![](http://static.oschina.net/uploads/space/2016/0606/183239_0qxD_2706881.png)
设置名字,推荐设置成 xxx-Bridging-Header,因为这是系统默认的格式。创建完后需要进行配置
![](http://static.oschina.net/uploads/space/2016/0606/183840_vTsb_2706881.png)
这里提示一下,设置路径时,直接将该文件拖入那个文本框即可,但是我一般会在拖入之后将前面的Users/..../....路径删除,保留项目根路径,这样可以避免在移动项目位置时,路径产生麻烦。
好了,现在我们可以直接使用这个桥接文件了。
哦,对了,不管是swift引入OC还是OC引入swift,这个桥接文件都一样,说的都是同一个,配制方法也一样
相关文章推荐
- 如何实现OC与Swift混编
- 如何在一个项目中是OC和Swift开发
- OC项目使用swift
- swift oc 混合编程
- swift之方法(Methods)
- Swift学习第十一枪-基于协议的MVVM模式的实现
- Swift教程 swift基础
- Swift学习一
- swift学习之路(十一)函数
- 【swift学习笔记】五.使用枚举优雅的管理Segue
- 孟加拉央行SWIFT攻击事件恶意木马分析(转)
- Swift语言中的枚举和结构体
- Swift报错 - dyld: Library not loaded: @rpath/MySDK.framework/MySDK 错误解决
- Swift学习第十枪-AFNetwoking3.0的封装
- Swift基础(六):属性、方法、下标脚本
- Swift 中使用 SQLite——新增数据
- Swift 中使用 SQLite——修改和删除数据
- Swift 中使用 SQLite——查询数据
- Swift 中使用 SQLite——批量更新(事务处理)
- Swift 中使用 SQLite——打开数据库