一、混编的方式

  • 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

Q.E.D.


悟已往之不谏,知来者之可追

江子辰,读书人,爱文学,软件工程理工男,IP浙江在职,从业五年。主攻前端方向技术研发,副攻Unity 3D、IOS客户端、Python人工智能等。2021年被评为华为云享专家,阿里云专家博主,前端领域优质创作者等,都是虚名。

新网站链接:https://jiangsihan.cn/frontend