Swift和OC的相互调用

96
追逐iOS
2017.11.28 16:01* 字数 291
  • Swift.png
swift调用OC
  • 创建一个 OC 的类 选择红色桥接


    1.png
4.jpg
  • 注意:桥接是一个 .h文件,如果没有选中则可以 根据下图的路径自己创建一个.h文件,填充路径


    2.png
  • 在桥接的文件里面 导入OC的头文件,系统会转换成Swift的代码


    3.png
  • 成功调用
5.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
4.png

看看系统转化的结果 如下图


5.png
swift
Web note ad 1