2016笔记——组件化学习(六)
继续延伸LDBusMediator的组件化之路。
上一篇实现了:主工程+项目A
ViewController-FirstVC-SecondVC-ThirdVC
这一篇的目标是:主工程+项目A+项目B
ViewController-FirstVC-SecondVC-ThirdVC-MondayVC
基于上一篇的基础,这篇仅延伸。
需要额外操作的几步:
1 新建一个MondayVC项目,完成相关编码。
2 将MondayVC相关文件,导入上一篇的完工的项目。
3 新建一个继承于QKProjectProtocol的ProjectBProtocol。
ProjectBProtocol.h
屏幕快照 2016-10-13 下午5.38.37.pngProjectBProtocol.m
屏幕快照 2016-10-13 下午5.39.04.png 屏幕快照 2016-10-13 下午5.39.16.png 屏幕快照 2016-10-13 下午5.39.43.png 屏幕快照 2016-10-13 下午5.39.58.png 屏幕快照 2016-10-13 下午5.40.13.png4 前往MondayVC中写参数字典、回传参数方法
MondayVC.h
屏幕快照 2016-10-13 下午5.47.15.pngMondayVC.m
屏幕快照 2016-10-13 下午5.47.30.png5 前往A组件中调用的地方,也就是ThirdVC中,调用服务:
导入QKMediator和ProjectBProtocol的头文件。
在按钮点击事件中如下编码:
屏幕快照 2016-10-13 下午5.49.30.png然后就是运行了:
useTwo.gif最后,上流程梳理图:
屏幕快照 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的使用,重复第二步到第六步即可。
加油!~