IOS 模块化之CTMediator

2020-12-22  本文已影响0人  勇敢的我2017

简单来说:一个模块对应一个 Mediator的分类 ,一个分类对应一个target,一个target可以包含多个action

一、要实现什么效果:
说一下场景,有一个模块A ,包括两个大页面,我要实现从APP某个页面跳转到模块A中的这两个页面并传值

APP 中某个页面:


image.png

这个是模块A中的 一个页面,暂定为B页面吧


image.png

这个是模块A中的另外一个页面,暂定为C页面


image.png

二、实现步骤
1、制作A模块私有库,私有库制作步骤,请看我的文章:https://www.jianshu.com/p/2e21825a0a31

2、把CTMediator 分类拿出来看下


image.png

这个是CTMediator 的分类,target一样但是action 不一样

3、把target 拿出来看下

image.png

这个是模块A 的 target 类,可以写多个action

4、app 中怎么处理


image.png

上图是从APP中的某个页面分别跳转到 B和C页面的实现

Target-Action方案总结:
侵入最小,但硬编码较多。
runtime编译阶段不检查,运行时才检查对应类或者方法是否存在,对开发要求较高。

上一篇下一篇

猜你喜欢

热点阅读