ALRouter
一款基于 HHRouter 的 URL 跳转路由器 #前言 目前市面上有很多优秀的 URL 跳转路由器,例如 MGJRouter、CTMediator、HHRouter 等。本着简洁、易维护、符合业务、编码方便的原则,在对源码进行了简单研究后,HHRouter 简洁的代码让我有了 cover 的信心,巧妙的用法也大大提高了效率。 HHRouter 的缺点
- 需要在每个类的
+load
方法中进行注册,感觉统计和维护起来并不直观。 - 在获取到
controller
后才能传递参数。
我们希望在 plist
表中就看到 URL
与类名对应的关系,在调用 openURL
时可以传递相应的参数,借鉴了 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 地址在此 链接