美文网首页
RAC 代替代理、KVO、通知、事件

RAC 代替代理、KVO、通知、事件

作者: NextStepPeng | 来源:发表于2018-01-11 11:08 被阅读0次

代替代理

首先在创建一个View命名为BlueView,里面放一个Btn,Btn里面关联一个点击事件btnClick;

现在通过RAC 的方式,代替代理的方式,在控制器里面监控Btn的点击事件;实现如下

[[_blueView rac_signalForSelector:@selector(btnClick:)] subscribeNext:^(RACTuple * _Nullable x) {

        NSLog(@"%@",x);

    }];

代替KVO

//代替KVO 监听回调在一起

    [_blueView rac_observeKeyPath:@"frame" options:NSKeyValueObservingOptionOld  | NSKeyValueObservingOptionNew observer:nil block:^(id value, NSDictionary *change, BOOL causedByDealloc, BOOL affectedOnlyLastComponent) {

        //回调 value:立刻马上改变的值 change :根据options 对应相应的新旧值

        NSLog(@"value%@---%@",value,change);

    }];

//更方便的方式

    [[_blueView rac_valuesForKeyPath:@"frame" observer:nil] subscribeNext:^(id  _Nullable x) {

        //X 修改了

        NSLog(@"%@",x);

    }];

代替事件监听

//监听事件

    [[_btn rac_signalForControlEvents:(UIControlEventTouchUpInside)] subscribeNext:^(__kindof UIControl * _Nullable x) {

        NSLog(@"%@",x);//x:信号发送者  按钮本身

    }];

代替通知

[[[NSNotificationCenter defaultCenter] rac_addObserverForName:UIKeyboardDidShowNotification object:nil] subscribeNext:^(NSNotification * _Nullable x) {

        NSLog(@"监听系统键盘弹出通知:%@",x);

    }];

监听文本框

//监听文本框

    [[_field rac_textSignal] subscribeNext:^(NSString * _Nullable x) {

        NSLog(@"监听文本框:%@",x);

    }];

相关文章

  • RAC的常见应用场景

    这里写RAC常见的应用场景 RAC集合 代替KVO 监听事件 代替通知 监听文本框5.代理 RAC集合 RACTu...

  • RAC框架源码解析之常见用法

    1、常见用法 1、代替代理2、代替KVO3、监听事件4、代替通知5、监听文本框 2、RAC代替代理 在OC中我们什...

  • RAC 代替代理、KVO、通知、事件

    代替代理 首先在创建一个View命名为BlueView,里面放一个Btn,Btn里面关联一个点击事件btnClic...

  • RAC的常见用法

    1. 代替代理: rac_signalForSelector:替代代理。 2. 代替KVO : rac_value...

  • RAC之四(RAC常用方法)

    1.代替代理 2.监听事件 3.代替通知 4.监听文本框改变 5.代替KVO 总结:使用RAC这些方法,可以让我们...

  • RAC学习之一

    废话不多说,直接讲实际应用 RAC的使用场景在addTarget、代理、通知、KVO、代替NSTimer、网络异步...

  • ios开发中使用RAC代替block传值

    RAC可以实现KVO、代理、通知、block的功能,可谓集多功能于一身。本篇文章介绍RAC是如何代替block传值...

  • ReactiveCocoa基础使用

    简介 RAC(ReactiveCocoa)是一款响应式编程的框架,处理事件逻辑,代理通知KVO都可以使用RAC来解...

  • ReactiveCocoa 常见使用

    1.代替 tapGesture 2.代替addTarget事件 3 .代替观察者KVO 4.监听 通知 5.代替代理

  • RAC开发中常见用法

    1.代理 ,具体见Jianshu 2.代替KVO 3.监听事件 4.代替通知 5.监听文本框

网友评论

      本文标题:RAC 代替代理、KVO、通知、事件

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