2016技术笔记

2016笔记——组件化学习(八)

2018-07-27  本文已影响7人  满庭花醉三千客

继续说说CTMediator组件化。

上一篇实现了:主工程+项目A

ViewController-FirstVC-SecondVC-ThirdVC

这一篇的目标是:主工程+项目A+项目B

ViewController-FirstVC-SecondVC-ThirdVC-MondayVC

基于上一篇的基础,这篇仅延伸。

需要额外操作的几步:

1 新建一个MondayVC项目,完成相关编码。

2 将MondayVC相关文件,导入上一篇的完工的项目。

3 新建WLMediator的类目,WLMediator+ModuleB

WLMediatro+Module.h

屏幕快照 2016-10-14 下午5.55.10.png

WLMediatro+Module.m

屏幕快照 2016-10-14 下午5.55.23.png 屏幕快照 2016-10-14 下午5.55.33.png

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

Project_BModule.h

屏幕快照 2016-10-14 下午5.56.32.png

Project_BModule.m

屏幕快照 2016-10-14 下午5.56.45.png

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

屏幕快照 2016-10-14 下午5.59.15.png

6 运行:

useTwo.gif

打印台信息:

屏幕快照 2016-10-17 上午9.34.05.png

老规矩,上梳理图:

WLMediator梳理.png

有没有觉得很乱?

我再用语言表述一下:

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步即可。

加油~

上一篇下一篇

猜你喜欢

热点阅读