基于HHRouter的一款URL跳转路由
#前言
目前有很多市面上很不错的URL
跳转路由器,例如 MGJRouter、CTMediator、HHRouter 。
本着简洁、易维护、符合业务、编码方便的前提,简单研究了下源码之后,HHRouter 简洁的代码让人有cover住的信心,巧妙的用法也大大提升了效率。
HHRouter 的缺点
- 需要每个类在
+load
方法注册,感觉统计和维护起来并没那么直观 - 获取到
controller
之后才能传递参数
我们希望在plist
表里就能看到URL
对应的关系,openURL
时可以传递相应的param
,借鉴 MGJRouter使用的思想,于是在MGJRouter和HHRouter的基础上实现了ALRouter。
#使用
- 在plist里面添加相应的键值对,
URL
为key
,类名为value
。 - 在
application:(UIApplication *)application didFinishLaunchingWithOptions:
注册URL对应的类名:
[ALRouter loadConfigPlist:nil];
也可以直接注册某个controller
[ALRouter regist:@"GoodsDetailController" toControllerClass:[self class]];
3.通过URL获取controller
[self.navigationController pushViewController:[ALRouter openURL:@"GoodsDetail"] animated:YES];
或者传递参数
[self presentViewController:[ALRouter openURL:@"GoodsDetail" withParams:@{}] animated:YES completion:nil];
#End github地址在这里