Swift项目中调用Objecttive-C
2016-04-10 23:16
555 查看
Swift项目中调用Objecttive-C
在Swift中使用Objective-C
首先创建一个Swift的iOS项目:
使用cocoapod导入一个objective-C 的第三方库,例如RDVTabBarController.
导入RDVTabBarController后的工程如下,RDVTabBarController下的类及控制器等都是Objective-C编写的。
如果要在Swift的工程里调用RDVTabBarController,就要为工程添加”桥接“。
新建桥接文件,File -> New->File…->Header File
在此,我将其命名为 OC_bridge_Header.h 。我们可以看到在工程里面头文件,如下图,但是,单单建立了桥接文件是不够的,我们还需要在build settings里面对其进行设置。
首先我们点击项目,然后选择build settings,在里面进行briging搜索,你会看到Objective-C Bridging Header选项,双击加入 swiftProject/OC_bridge_Header.h (这里指的是 项目名称/头文件名称,是指项目根目录下的这个头文件) 设定。
这个头文件的使用和Objective-C里的使用是一样的,我们使用#import 来引入OC的头文件,#import “RDVTabBarController.h”。
编译一下,如果以上步骤没有出错,此时编译应该通过。现在我们成功地引入了oc头文件,接着,我们就可以在Swift文件里调用OC类了。在Swift文件里使用RDVTabBarController,直接调用久可以了,连#import语句都不需要了,因为我们已经进行了桥接:
var customTabBarController:RDVTabBarController = RDVTabBarController()
在Swift中使用Objective-C
首先创建一个Swift的iOS项目:
使用cocoapod导入一个objective-C 的第三方库,例如RDVTabBarController.
导入RDVTabBarController后的工程如下,RDVTabBarController下的类及控制器等都是Objective-C编写的。
如果要在Swift的工程里调用RDVTabBarController,就要为工程添加”桥接“。
新建桥接文件,File -> New->File…->Header File
在此,我将其命名为 OC_bridge_Header.h 。我们可以看到在工程里面头文件,如下图,但是,单单建立了桥接文件是不够的,我们还需要在build settings里面对其进行设置。
首先我们点击项目,然后选择build settings,在里面进行briging搜索,你会看到Objective-C Bridging Header选项,双击加入 swiftProject/OC_bridge_Header.h (这里指的是 项目名称/头文件名称,是指项目根目录下的这个头文件) 设定。
这个头文件的使用和Objective-C里的使用是一样的,我们使用#import 来引入OC的头文件,#import “RDVTabBarController.h”。
编译一下,如果以上步骤没有出错,此时编译应该通过。现在我们成功地引入了oc头文件,接着,我们就可以在Swift文件里调用OC类了。在Swift文件里使用RDVTabBarController,直接调用久可以了,连#import语句都不需要了,因为我们已经进行了桥接:
var customTabBarController:RDVTabBarController = RDVTabBarController()
相关文章推荐
- 什么是writeObject 和readObject?可定制的序列化过程(转)
- iOS开发67- valueForKey:和objectForKey:的区别
- libcudnn.so.6.5:cannot open sharedobject file: No such file or directory
- Objective-C中nil与release的区别与用法
- objective-c中自己创建的对象为什么不能调用release
- poj 3241 Object Clustering 曼哈顿最小生成树
- Swift项目里使用Objective-C第三方库的总结
- Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
- Object类到底实现了哪些方法
- 重构第23天 引用参数对象(Introduce Parameter Object)
- Object-C 介绍
- WaitForMultipleObjects使用详解
- Objective-C 链式编程思想
- python 绘图添加图例显示UserWarning: Legend does not support [<matplotlib.lines.Line2D object at 0x07FA3210>]
- Ry’s Objective-C 教程
- Windows下的Objective-C集成开发环境(IDE)的搭建
- Objective-C @encode关键字
- OAViewObject中clearCache(),reset(),setMaxFetchSize(-1)的使用
- 第一章 熟悉Objective-C
- Delphi_08_Delphi_Object_Pascal_基本语法_06_函数参数