热门搜索 :
考研考公
您的当前位置:首页正文

[IOS]DYTRouterManagerVC路由管理,实现Vi

来源:东饰资讯网

原来方式

从AViewController 跳转到 BViewController,常见以下的编码方式:

BController *bController = [[BController alloc] init];
[self presentViewController:bController animated:YES completion:nil];

如果视图(ViewController)较少的情况下,这种方式问题不大,但视图一旦多了之后,关联多了之后,这种方式的弊端就出来了,硬编码的方式导致修改困难,而且无法统一化处理(例如:增加ViewController初始化参数,替换ViewController)。

原来方式VC跳转

DTYRouterManager 处理

1.将ViewController跳转所需的参数进行格式化:子ViewController名称、实例化方式(代码 or storyboard)、跳转方式、传递参数;
2.跳转格式化参数解析为 DYTRouterUrl 对象,转化为各个对象属性(负责字符串解析、解析缓存);
3.将DYTRouterUrl 提取封装为 DYTRouterNode(负责解析为 ViewController 对象);
4.通过DYTRouterManager 进行跳转的处理(push or present 子视图);

经DTYRouterManager组件跳转

所有的ViewController 的跳转都通过 伪Url 进行处理并传递相应的参数,实现ViewController之间的关联解藕,都通过DYTRouterManager进行统一处理,可以进行灵活的配置和替换。

Top