美文网首页
ReactiveCocoa框架里面应该要了解的几个功能

ReactiveCocoa框架里面应该要了解的几个功能

作者: Sweet丶 | 来源:发表于2018-11-15 13:54 被阅读12次

    RAC框架提供的API使我们实际开发中非常常用的代理、KVO、通知等变得更加内聚,使用更加方便。ReactiveCocoa是一个函数式响应式编程思想下开发的一套框架。下面是具体使用

    通知

    [[[NSNotificationCenter defaultCenter] rac_addObserverForName:UIKeyboardDidShowNotification object:nil] subscribeNext:^(NSNotification * _Nullable x) {
            NSLog(@"%@",x);
        }];
    

    KVO

    [_redView rac_observeKeyPath:@"frame" options:NSKeyValueObservingOptionNew observer:nil block:^(id value, NSDictionary *change, BOOL causedByDealloc, BOOL affectedOnlyLastComponent) {
           NSLog(@"1 - %@",value);
       }];
    

    或者使用宏

    [RACObserve(_redView, frame) subscribeNext:^(id  _Nullable x) {
            NSLog(@"3 - %@",x);
        }];
    

    代理

    // 1. 在需要向外发信号的对象添加属性
    - (RACSubject *)btnClickSignal{
        if (!_btnClickSignal) {
            _btnClickSignal = [RACSubject subject];
        }
        return _btnClickSignal;
    }
    
    - (IBAction)btnClick:(id)sender{
        [_btnClickSignal sendNext:@"我可以代替代理哦"];
    }
    
    // 2. 在处理这个信号的对象里面
     [_greenView.btnClickSignal subscribeNext:^(id  _Nullable x) {
            NSLog(@"%@",x);
        }];
    

    总结自博客:https://www.jianshu.com/p/cd4031fbf8ff

    相关文章

      网友评论

          本文标题:ReactiveCocoa框架里面应该要了解的几个功能

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