美文网首页
ios router原创小记

ios router原创小记

作者: 过江鸟iOSer | 来源:发表于2019-08-23 11:23 被阅读0次

整体思路就是写一个 “UIResponder”的分类(category)不基于delegate,block,kvc,kvo

代码背景:controller中 addSubview 一个view 点击view时,将事件及参数专递给controller中(不同的事件要加以区分)

直接上代码

//category.m中
- (void)routerEventWithName:(NSString *)eventName userInfo:(NSDictionary *)userInfo{
    NSLog(@"我走了分类方法");
    [[self nextResponder] routerEventWithName:eventName userInfo:userInfo];
}
//并在.h中声明
//view.m中
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    NSLog(@"我点击了方法");
    [[self nextResponder] routerEventWithName:@"push" userInfo:nil];
}
//controller.m中
- (void)viewDidLoad {
    [super viewDidLoad];

    [self.view addSubview:({
        self.routerView = [TestView new];
        self.routerView.frame = CGRectMake(100, 100, 100, 100);
        self.routerView;
    })];
    
    
}

- (void)routerEventWithName:(NSString *)eventName userInfo:(NSDictionary *)userInfo{
    NSLog(@"控制器响应了");
    if([eventName isEqualToString:@"push"])
    {
        NSLog(@"do what you want!");
    }
}

最后控制台可以看到效果


屏幕快照 2019-08-23 上午11.20.42.png

目前应该有很多团队在用这种方式开发了,如果其中有什么坑点,或者相较于常规传值方式的优缺点的想法,希望多多评论提出来,感激不尽。

相关文章

  • ios router原创小记

    整体思路就是写一个 “UIResponder”的分类(category)不基于delegate,block,kvc...

  • iOS 关于组件化Router设计的争辩

    iOS 关于组件化Router设计的争辩 iOS 关于组件化Router设计的争辩

  • iOS开发小记:运用Runtime机制扩大UIButton的响

    转载自 iOS开发小记:运用Runtime机制扩大UIButton的响应区域 版权声明:本文为博主原创文章,未经博...

  • iOS Router

    route基本的应用:1.控制器/模块 解耦合 我的思路是仿照url格式,不同于一些中间介质的route。//h...

  • iOS Router

    需求描述 通过scheme跳转到应用指定页面 实现逻辑 定义URL,通过其获取控制器名和控制器属性参数 通过控制器...

  • iOS 开发小记-01

    最近又开始写不少业务代码了,有些小知识点小坑,用这个系列记录一下。iOS 开发小记-01iOS 开发小记-02 1...

  • iOS 开发小记-02

    最近又开始写不少业务代码了,有些小知识点小坑,用这个系列记录一下。iOS 开发小记-01iOS 开发小记-02 1...

  • iOS随笔小记 -- HomeKit(二 : 实现HomeKit

    接着(iOS随笔小记 -- HomeKit(一 : 认识HomeKit) ) 一: 相关概念 1 > home (...

  • 赶海观“干潮”见闻小记

    《赶海观“干潮”见闻小记》 原创图文:冬冬 ...

  • 值得一读

    iOS 开发 Clang Attributes 黑魔法小记 UIApplication的详细介绍 MVVM奇葩说

网友评论

      本文标题:ios router原创小记

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