标题OC和Swift混编
1、OC项目中调用 Swift 代码
1> 建立桥接文件
在已有的 OC 工程项目中新建一个 Swift 文件,命名为 DemoViewController.swift ,接着会弹出提示,选择Create Bridging Header建立桥接文件,系统会建立“工程名-Bridging-Header.h”
桥接文件名:OC和Swift桥接-Bridging-Header.h
2> 在OC文件中导入 Swift 文件:文件名是 项目名-Swift.h ,例如我的项目名为: OC和Swift桥接,此时我的头文件就是: OC和Swift桥接-Swift.h,如图:
- 注意: 使用:ProductName-Swift.h , 注意: ProductName 不能包含文字和数字的组合,包含特殊符号下划线 “_”
3> 配置Swift的类,进行相关的声明
- Swift的类需要继承NSObject
- 通过@objc 重命名Swift暴露给OC的符号名(类名,属性名、函数名等)
Swift中的代码:
OC 中调用:
2、在 Swift 文件中 能够调用 OC
1> 在之前生成的桥接文件中引入所有 Swift 文件中需要访问的 OC 头文件,具体如下:我需要在 Swift文件 中访问 OC 文件中的 NetworkTools 类,所以我可以在桥接文件中导入NetworkTools 的头文件
此时 NetworkTools.h 类中的代码如下:
NetworkTools.m 类中的代码如下:
接着在 Swift 中 调用 NetworkTools 类的代码如下: