继续延伸Router方案。
上一篇实现了:主工程+项目A
ViewController-FirstVC-SecondVC-ThirdVC
这一篇的目标是:主工程+项目A+项目B
ViewController-FirstVC-SecondVC-ThirdVC-MondayVC
基础步骤和上一篇的内容相同。
额外的操作步骤:
1 导入项目B的文件,也就是MondayVC的相关文件。
2 在项目B的接口文件,也就是MondayVC中导入QKRouter,然后注册URL-Block。


3 在组件A的跳转文件也就是ThirdVC中导入QKRouter头文件,然后在ThirdVC的按钮点击事件中如下编码:

然后就是运行的效果了:

整体的运行完全无压力呀,接下来是打印台的信息:

OK~
老规矩,上流程梳理图:

下面我用语言再表述一遍:
1 新建继承于NSObject的QKRouter,提供两个方法:注册方法和获取方法。
注册方法:传入URL和Block,得到URL-Block注册表。
获取方法:传入URL,执行Block,返回执行Block的VC。
2 在组件A的接口VC中,也就是FirstVC中,导入QKRouter,实现Block,然后写一个硬编码的URL,调用QKRouter的注册方法,传入Block和URL。
3 在调用组件的地方,先导入QKRouter,然后调用QKRouter的获取方法传入URL,执行Block,即让组件A提供服务。
4 多个组件时,只需要在不同的组件的接口VC中导入QKRouter头文件,实现Block,然后注册。使用时,导入QKRouter,调用获取方法即可让Block执行,也就是调用组件的服务。
加油~~
网友评论