Swift和OC的相互调用
2017-11-28 本文已影响4人
追逐_chase
- Swift.png
swift调用OC
-
创建一个 OC 的类 选择红色桥接
1.png
-
注意:桥接是一个 .h文件,如果没有选中则可以 根据下图的路径自己创建一个.h文件,填充路径
2.png -
在桥接的文件里面 导入OC的头文件,系统会转换成Swift的代码
3.png
- 成功调用
OC调用Swift
-
从下图的方框中我们可以看到,这个提示和Swift使用OC的代码一样,所以这个时候我们不创建这个桥接
1.png -
导入头文件 #import "工程名称-Swift.h" 下图的工程名称是OC
2.jpeg -
用Swift创建类的时候默认是 internal 权限 所以访问的时候 需要更改Public
3.png -
成功 可以在OC中使用Swift了
-
如果Swift中有协议的话
- 更改协议的访问权限 为 Public
- 必须用@objc声明,这个声明说明 在转化的时候可以转成OC 的
- 协议必须遵循NSObjectProtocol,因为在转化到OC的时候 所有的协议是遵循NSObject
看看系统转化的结果 如下图
5.png