使用 Router 之后大概是这样的;
image
打个比方, Router 就是跟我们日常使用的路由器一样, App 内每个控制器可以想象成已经连接了这台路由器的不同设备, 当然连接路由器时, 一般需要输入密码..., 一般保存在全局 Map 里面, 每个 Path 映射当前控制器 Map 包含相关 title, class, needLog, 等参数;
// B Modal C
[JSDVCRouter...openURL: C info: {kJSDRouteSegue: @"Modal"}]; // 控制器之间跳转默认以 Push 实现, 当需要 Modal 时, 则传递一个参数;
看到这里相信认真阅读的同学们已看出使用...首次将控制器跳转转成 Router 方案 很简单只有 3个步骤, 如何需求变动不大的话, 几乎一劳永逸;
Map 表创建: 其是一个全局 Map, App 内相应的控制器定义好 Path, Router...Category 找到当前 visibleVC 来进行 Push 或 Modal, 我们也可以根据业务方传递过来的参数来决定进行 Push 或 Modal 以及是否需要执行动画等等;
关于传参 : 传递过来的参数是字典的数据结构