上两篇,提的是蘑菇街Protocol方案。
今天研究的是Router方案。
我们要实现的是:
主工程+项目A
ViewController-FirstVC-SecondVC-ThirdVC
第一步,新建一个项目,项目内容是:
FirstVC-SecondVC-ThirdVC的跳转。
第二步,新建一个项目,将FirstVC-SecondVC-ThirdVC导入到项目中。
第三步,新建一个继承于NSObject的QKRouter:
QKRouter.h
[图片上传失败...(image-cf453a-1532677138609)]
QKRouter.m
屏幕快照 2016-10-12 下午5.40.27.png 屏幕快照 2016-10-12 下午5.40.46.png 屏幕快照 2016-10-12 下午5.40.58.png 屏幕快照 2016-10-12 下午5.41.14.png第四步,前往项目A的接口文件,也就是FirstViewController中,导入QKRouter头文件,注册URL-Block的映射表。
FirstViewController.m
屏幕快照 2016-10-12 下午5.44.26.png 屏幕快照 2016-10-12 下午5.45.35.png 屏幕快照 2016-10-12 下午5.45.46.png 屏幕快照 2016-10-12 下午5.46.10.png 屏幕快照 2016-10-12 下午5.46.20.png第五步,主工程导入QKRouter头文件,然后通过URL调用项目A:
屏幕快照 2016-10-12 下午5.48.36.png 屏幕快照 2016-10-12 下午5.48.52.png需要注意的是,第五步openURL的值,要和第四步在项目A中load方法里,注册时的URL要保持一致,否则无法取到注册的Block,也就无法调用项目A的服务。
第六步,运行:
UseA.gif然后看看打印台的信息:
屏幕快照 2016-10-12 下午5.54.15.png完全无压力呀~
加油~
网友评论