美文网首页
iOS 利用Router机制对控制器之间跳转解耦

iOS 利用Router机制对控制器之间跳转解耦

作者: 悲伤C小调 | 来源:发表于2017-10-27 18:17 被阅读94次

使用场景

项目中经常会出现从A控制器push到B控制器,这个时候你需要在A控制器中#import B 然后 [self.navigationController pushViewController:B animated:YES];也就是说你在A类中要去到B界面必须在A类中拿到B类,这个时候耦合性就比较高,怎么样做到在A类中不需要#import B也能push到B界面呢?并且传递一些参数;这里就用到了HHRouter路由,原理很简单其实就是一根管道进多个管道出。

代码示例
pod导入
pod 'HHRouter', '~> 0.1.9'

引用头文件
#import <HHRouter/HHRouter.h>

在控制器里面push到你要去控制器,其中@“person”是路由地址这个可以自定义也可以配置参数
UIViewController *viewController = [[HHRouter shared] matchController:@"person"]; [self.navigationController pushViewController:viewController animated:YES];
或者
UIViewController *viewController = [[HHRouter shared] matchController:@"/user/10/"]; [self.navigationController pushViewController:viewController animated:YES];

在push之前你需要先设置要路由
[[HHRouter shared] map:@"person" toControllerClass:[Person class]];

这里我一般是这样处理,搞一个基类(LZJBaseViewController)集成UIViewController,然后创建person类的时候集成LZJBaseViewController,然后在基类里面进行路由地址设置
- (void)viewDidLoad { [super viewDidLoad]; [[HHRouter shared] map:@"person" toControllerClass:[Person class]]; }
这里附上demo:https://gitee.com/niceGood/LZJRouter/

相关文章

  • iOS 利用Router机制对控制器之间跳转解耦

    使用场景 项目中经常会出现从A控制器push到B控制器,这个时候你需要在A控制器中#import B 然后 [s...

  • ios swift URLNavigator 路由 的使用

    ios swift URLNavigator 路由 的使用 路由可以很大程度的对项目模块进行解耦;页面跳转有很多不...

  • Router 解耦方式 - iOS

    引言 软件程序设计一个永恒的主题就是高内聚底耦合,因为高耦合的代码在前期的问题不会很突出,而且代码有可能不低耦合的...

  • 『ios』组件化-组件之间的业务解耦

    上一篇讲了一下目前页面跳转路由之间的解耦。这一篇就来说一些组件之间业务解耦。 你觉得应该怎么来实现组件之间的业务解...

  • iOS利用协议给控制器解耦

    写在最前 以下方案的思路来自于项目组的同事LEAF 现状 在iOS开发中,对于根据不同的事件跳转到不同的控制器这...

  • SpringMVC请求流程及关键组件

    请求流程 各个组件之间解耦,只跟前端控制器DispatchServlet有联系。 组件 HandlerMappin...

  • iOS之解耦机制

    聊聊delegate, block, notification, KVO 一 高内聚低耦合是软件设计永恒的主题之一...

  • 利用runtime反射机制解耦

    前言 本文参考了微信读书团队的文章,学习了runtime反射机制的强大。具体的demo工程 学习过程1 A和B想要...

  • Swift Router 页面跳转路由,组件解耦

    为什么要用到Router去做跳转:解耦、方便 像底下这种代码可能写了很多很多遍了,尤其是在项目中某个页面入口很多的...

  • iOS实现NSNotificationCenter

    简介 通知中心是iOS内部之间的一种消息广播机制,主要为了解决应用程序内部不同对象之间解耦而设计。它是基于观察者模...

网友评论

      本文标题:iOS 利用Router机制对控制器之间跳转解耦

      本文链接:https://www.haomeiwen.com/subject/eeddpxtx.html