继续说说CTMediator组件化。
上一篇实现了:主工程+项目A
ViewController-FirstVC-SecondVC-ThirdVC
这一篇的目标是:主工程+项目A+项目B
ViewController-FirstVC-SecondVC-ThirdVC-MondayVC
基于上一篇的基础,这篇仅延伸。
需要额外操作的几步:
1 新建一个MondayVC项目,完成相关编码。
2 将MondayVC相关文件,导入上一篇的完工的项目。
3 新建WLMediator的类目,WLMediator+ModuleB
WLMediatro+Module.h

WLMediatro+Module.m


4 新建Project_BModule文件,导入MondayVC头文件
Project_BModule.h

Project_BModule.m

5 在ThirdVC中导入WLMediatot+ModuleB头文件,然后在点击事件中编码:

6 运行:

打印台信息:

老规矩,上梳理图:

有没有觉得很乱?
我再用语言表述一下:
1 创建WLMediator,提供两个方法:本地方法和远程方法。
2 创建WLMediator的类目WLMediator+ModuleA,提供公开方法A。
3 公开方法A中内部调用WLMediator的本地方法,生成Target-Action。
4 根据本地方法生成的Target名称,构建继承于NSObject的Project_A。
5 根据本地方法生成的Action名称,在Project_A中构建方法。
6 在VC中调用组件A,先导入WLMediator+ModuleA的头文件,然后调用公开方法A。公开方法A的内部,会调用WLMediator的本地方法,构建Target-Action,然后利用Runtime去调Project_A中组件A的服务方法。
7 多组件时,重复第2到6步即可。
加油~
网友评论