iOS 混编总结
一、混编的方式
iOS混编有如下两种方式:
- Swift调用ObjC
- ObjC调用Swift
二、混编的场景
一般企业的iOS项目都是基于Cocoapods实现的组件化工程,混编的场景有如下三种:
- 工程中
- 组件内
- 组件间
三、混编的具体实现
3.1 Swift调用ObjC
工程中
将ObjC的头文件导入到桥接头文件中组件内
将ObjC的头文件导入到umbrella-header文件中组件间
import module
3.2 ObjC调用Swift
工程中
引入 Swift Module 的 ObjC Interface Header,默认是"ProjectName-Swift.h"组件内
引入 Swift Module 的 ObjC Interface Header,默认是"ModuleName-Swift.h"组件间
@import module;
注意:
Swift的类或者方法要暴露给ObjC使用,访问权限至少是public的,切需要添加@objc