iOS开发中组件化之业务组件间通讯方式之路由

2021-03-11  本文已影响0人  梁森的简书

在路由中注册VC

将需要跳转的VC对应的字符串添加到一个全局字典中

通过路由打开某个VC

通过添加到全局字典中的VC对应的字符串获取VC

传参

通过KVC

回调

和传参一样,传一个block

看别人代码

https://gitee.com/liangsenliangsen/studyRouter

优点

1.只需要确定路由之后就可以跳转到指定页面,不需要做很多的if判断
2.可以做到三端统一

问题

1.只要有新增的跳转VC就要多一个注册一次
2.传参数传的是一个字典,字典中的key必须和参数名一致
3.跳转方式也放在了传参的字典里
4.硬编码的问题

我们的做法

以跳转到登录组件为例
在路由器工具类中获取到HYLoginVC类,该类遵守了某个协议并实现了某个方法,HYLoginVC类调用该方法并将带上需要传递的参数,在HYLoginVC类中再做具体跳转到哪个页面(如:一键登录页面或手机号登录页面)的逻辑处理。
将跳转逻辑放在了组件内部。(跳转逻辑统一放在路由类的扩展里处理是否更好?)

上一篇 下一篇

猜你喜欢

热点阅读