🚀🚀🚀一个很好用的iOS路由器~
灵活 此路由作为一个独立消息通道可以完全自己控制跳转方式
简单 使用非常简单,配置好后,其他页面复制即可
不耦合 不影响控制器原有功能等,可用可不用
<RouterProtocol>
//返回一个唯一id字符串匹配当前控制器,一般用类名比较好
+(NSString *)routerPath{
return [NSString stringWithFormat:@"%@",NSStringFromClass([self class])];
}
//有路由跳转到本控制器时调用,param为跳转过来时携带的参数,此方法需要返回当前控制器的实例
+(id)routerInstanceWithParam:(NSDictionary *)param{
NSString *userId = [param objectForKey:@"userId"];
TestViewController0 *controller = [[TestViewController0 alloc]initWithNibName:NSStringFromClass([self class]) bundle:nil];
controller.userId = userId;
return controller;
}
<RouterResultDelegate>
[TFRouter setRouterResultDeleget:self];
//所有的路由都经过此方法,可以在此方法根据路由类型和参数来开发路由方式
-(void)routerResult:(RouterModel *)model{
NSLog(@"routerType:%@",@(model.routerType));//路由类型,包括本地路由和http路由
NSLog(@"url:%@",model.url);//路由的整个url
NSLog(@"protocol:%@",model.protocol);//路由的协议
NSLog(@"NSDictionary:%@",model.param);//路由携带的参数字典
NSLog(@"controller:%@",model.controller);//需要路由的控制器
}
[TFRouter routerTo:@"router://TestViewController0?routerType=push&userId=1234567890"];
//此为代码绑定,也可以直接xib上动态绑定,提高开发效率。
someView.bindRouter = @"router://TestViewController0?routerType=push&userId=1234567890";
pod 'TFRouter'
使用过程中有bug,请随时issues我或者联系我; 现有功能满足不了你的需求,请随时issues我或者联系我; 有更好的建议或者优化,请随时issues我或者联系我; QQ:927141965,邮箱shmxybfq@163.com