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

继续延伸LDBusMediator的组件化之路。

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

ViewController-FirstVC-SecondVC-ThirdVC

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

ViewController-FirstVC-SecondVC-ThirdVC-MondayVC

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

需要额外操作的几步:

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

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

3 新建一个继承于QKProjectProtocol的ProjectBProtocol。

ProjectBProtocol.h

2016笔记——组件化学习(六)_第1张图片
屏幕快照 2016-10-13 下午5.38.37.png

ProjectBProtocol.m

2016笔记——组件化学习(六)_第2张图片
屏幕快照 2016-10-13 下午5.39.04.png
2016笔记——组件化学习(六)_第3张图片
屏幕快照 2016-10-13 下午5.39.16.png
2016笔记——组件化学习(六)_第4张图片
屏幕快照 2016-10-13 下午5.39.43.png
2016笔记——组件化学习(六)_第5张图片
屏幕快照 2016-10-13 下午5.39.58.png
2016笔记——组件化学习(六)_第6张图片
屏幕快照 2016-10-13 下午5.40.13.png

4 前往MondayVC中写参数字典、回传参数方法

MondayVC.h

2016笔记——组件化学习(六)_第7张图片
屏幕快照 2016-10-13 下午5.47.15.png

MondayVC.m

2016笔记——组件化学习(六)_第8张图片
屏幕快照 2016-10-13 下午5.47.30.png

5 前往A组件中调用的地方,也就是ThirdVC中,调用服务:

导入QKMediator和ProjectBProtocol的头文件。

在按钮点击事件中如下编码:

2016笔记——组件化学习(六)_第9张图片
屏幕快照 2016-10-13 下午5.49.30.png

然后就是运行了:

useTwo.gif

最后,上流程梳理图:

2016笔记——组件化学习(六)_第10张图片
屏幕快照 2016-07-05 11.16.59.png

有没有觉得混乱?

好吧,我再用语言表述一下:

第一步,建QKProjectProtocol。

第二步,建继承于QKProjectProtocol的ProjectAProtocol

第三步,在ProjectAProtocol中导入组件A的各个头文件,然后初始化URL-VC表

第四步,将ProjectAProtocol注册到QKMediator中,生成 协议名-协议 注册表。

第五步,使用时,传入URL和协议。先到QKMediator中,根据协议名-协议注册表找到ProjectAProtocol,判断能否打开URL,然后把URL传给ProjectAProtocol。

第六步,在ProjectAProtocol中得到URL后,利用URL-VC表,找到对应的VC,然后调用VC的服务。

组件B的使用,重复第二步到第六步即可。

加油!~

你可能感兴趣的:(2016笔记——组件化学习(六))