一、混编的方式
-
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
评论区