美文网首页
HHRouter实践回顾

HHRouter实践回顾

作者: tinctorial | 来源:发表于2017-09-09 12:08 被阅读72次

上家公司独立开发,而且是从无到有的,不是那种先让外包做一个版本然后从上边改的那种,这样就比较灵活了,而且看别人的代码并不是一件轻松惬意的事儿。

我最初认识HHRouter是上上家公司的最后一段时间,我们打算对已有项目进行重构的,之前这个项目是前端和原生混合开发的,性能不是特别好。重构的时候我们就选用了路由模式,这个模式主要就是解决界面耦合的(个人理解,感觉用过之后对它的理解还是比较浅的,在这里只讲下我对它的使用吧)。然后上家公司的项目是个商城类的APP,感觉用这个模式还是挺好的,毕竟据说淘宝、京东等APP也是用的路由模式。。。

路由模式也有好几种第三方可以选择,我们最终选择了HHRouter这个第三方,这个是我的领导定的,感觉我遇到HHRouter也是一种机缘,哈哈。。。

好了,废话不多说,下面我们就来谈论下我使用HHRouter这个第三方的具体方法吧。

首先,需要创建一个基于HHRouter的单例类,这个类就放APP中所有的viewcontroller,然后在这个类中需要实现一个初始化的方法,并在.h中声明

屏幕快照 2017-09-09 上午9.00.45.png 屏幕快照 2017-09-09 上午9.05.11.png

这个就是需要写在初始化方法里的,好了,接下来看看怎么获取这些VC吧。
既然我们要用这个单例类来获取这些VC,那么我们就需要在didFinishLaunchingWithOptions这个方法里实现初始化路由这个方法:


屏幕快照 2017-09-09 上午9.09.20.png

然后在需要使用这个VC的地方


屏幕快照 2017-09-09 上午10.15.31.png
这样调用,这种方式不用在这个类中导入launchVC的头文件

那么问题就来了,一般我们导入头文件的时候传值可以在第二个类的.h文件中属性描述,还有block这些传值方式好像都不一样了,那么这个HHRouter该怎么传值呢?请往下看
1、字符串拼接传值


屏幕快照 2017-09-09 上午10.42.23.png

这个将字符串拼接的方法类似于属性描述传值


屏幕快照 2017-09-09 上午10.44.49.png
这个是在目标VC里取值的方法

2、block
在launchVC中相当于声明吧


屏幕快照 2017-09-09 上午11.59.07.png

然后


屏幕快照 2017-09-09 下午12.00.21.png
这样使用。当然,声明的时候也可以在callBlock后边进行字符串拼接,这样这些拼接的参数就是map:toBlock后边的params字典中的键值对。注意多个参数字符串拼接的时候要使用&符号隔开

如果你要传递一个model的话可以先把model转化成json形似,然后再转化成字符串进行拼接,至于怎么转化,这里就不在赘述了。

路由模式的底层原理是有文章介绍的,想要了解的可以再简书中搜索

想要交流经验的可以加我QQ979778584

相关文章

  • HHRouter实践回顾

    上家公司独立开发,而且是从无到有的,不是那种先让外包做一个版本然后从上边改的那种,这样就比较灵活了,而且看别人的代...

  • MKRoute统跳路由,iOS解耦神器

    MKRouter 参考 HHRouter 的设计。根据业务和实际需求扩展改造。 由于 HHRouter 只是给出了...

  • HHRouter解析

    关于App内部的路由设计,主要需要解决2个问题: 1.各个页面和组件之间的跳转问题。 2.各个组件之间相互调用。 ...

  • 改造HHRouter

    注册Routerrouter不是标准的url schema格式,所以在跳转的时候匹配没有问题,但是如果使用的是标准...

  • 2018-iOS App 路由方案

    JLRouter HHRouter MGJRouter CTMediator Uber数据驱动???这个算? 实际...

  • Router

    技术选型全靠 google trends,以下排名分先后: JLRoutes MGJRouter HHRouter

  • HHRouter 开源后日谈

    这周二,火花开源了一个小项目 HHRouter,不到一周,已经获得不少关注。并且在 GitHub 的本日热门 Ob...

  • Category添加属性(关联)

    今天看HHRouter源码的时候看到这两句: 其中 objc_setAssociatedObject和objc_g...

  • 《iOS组件化》之 搭建适合业务的URL跳转路由-ALRoute

    前言 目前有很多市面上很不错的URL跳转路由器,例如 MGJRouter、CTMediator、HHRouter ...

  • oc & swift混编下的路由实践

    前言: 现在有很多第三方路由库,例如: 1.JLRoute2.MGJRouter3.HHRouter4.FFRou...

网友评论

      本文标题:HHRouter实践回顾

      本文链接:https://www.haomeiwen.com/subject/hpdojxtx.html