美文网首页
RAC常见宏以及rac_lift方法

RAC常见宏以及rac_lift方法

作者: BigBossZhu | 来源:发表于2019-12-24 09:55 被阅读0次
 [self rac_liftSelector:(SEL) withSignalsFromArray:(NSArray *)];

使用场景:当有多个任务执行时,全部执行完毕才能执行其他操作,注意方法的参数必须跟后面信号一一对应不然就会报错,方法的参数就是每个信号发送的数据.

  • 代码:
//1. rac_lift调用
    RACSignal *signal1 = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
        NSLog(@"任务1");
        [subscriber sendNext:@"数据1"];
        return nil;
    }];
    RACSignal *signal2 = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
        NSLog(@"任务2");
        [subscriber sendNext:@"数据2"];
        return nil;
    }];
    
    [self rac_liftSelector:@selector(updateUIWithData1:data2:) withSignalsFromArray:@[signal1,signal2]];
//2. 任务完成后方法
- (void)updateUIWithData1:(NSString *)data1 data2:(NSString *)data2 {
    NSLog(@"data1:%@data2:%@",data1,data2);
}

RAC常见的宏.

  • 1. RAC(<#TARGET, ...#>) 用来给某个对象的某个属性绑定信号,只要产生信号内容就会把内容给属性赋值.
RAC(<#TARGET, ...#>)

//只要_textField值改变前面label中text就会改变为相应内容
RAC(_label,text) = _textField.rac_textSignal;
  • 2. RACObserve(<#TARGET#>, <#KEYPATH#>)监听对象的属性:
 RACObserve(<#TARGET#>, <#KEYPATH#>)

[RACObserve(self.reaVIew, frame) subscribeNext:^(id x) {
        NSLog(@"对象属性一改变就会被调用");
    }];
    1. 防止blcok循环引用:
@weakify(self);
@strongify(self);
    1. 封装集合
      RACTuplePack(<#...#>):把数据包装成元组,返回值为元组.
      RACTupleUnpack(<#...#>):把元组解包成对应数据.
    //RACTuplePack
    RACTuple *tuple = RACTuplePack(@"12",@"3232");
    NSLog(@"%@",tuple[0]);
    //RACTupleUnpack
    RACTupleUnpack(NSString *str1,NSString *str2) = tuple;
    NSLog(@"%@--%@",str1,str2);

相关文章

  • RAC常见宏以及rac_lift方法

    使用场景:当有多个任务执行时,全部执行完毕才能执行其他操作,注意方法的参数必须跟后面信号一一对应不然就会报错,方法...

  • RAC一些常见用法(五)

    本demo详见github 1.常见的用法 2.RAC常见的宏 3.发送验证码 友情链接: RAC(一) RAC(...

  • iOS开发 「RAC」RAC常见宏方法的妙用

    一、 RAC(TARGET, [KEYPATH, [NIL_VALUE]]):用于给某个对象的某个属性绑定 二、 ...

  • rac常见的宏

    1.给对象的某个属性绑定信号 [self.tf.rac_textSignal subscribeNext:^(NS...

  • RAC常见用法(三)

    本文将要介绍的RAC的常见用法大纲: RAC的映射: 首先看flattenMap:这个方法, 其实这个方法的内部是...

  • RAC使用

    RAC常用宏 KVO监听使用 RAC宏使用 信号类使用 使用信号模拟代理 rac_sequence遍历字典 解包元...

  • 小驴拉磨之—ReactiveCocao(RAC)一些重要的宏

    使用过RAC的都知道RAC的宏是非常强大的,在这我给大家介绍一些重要的宏。 元宏(RAC中最基本一个宏,PS:那个...

  • iOS开发之RAC(二)进阶篇

    初级篇简单的介绍了RAC。本文将介绍RAC在项目中常见的类和最常用的一些操作方法!!! 一、常见类 1、RACSi...

  • RAC宏

    一、基础宏 1.metamacro_stringify 这样写的目的是预防参数中传入宏定以后,以宏定义的名字做为参...

  • 记录ReactiveObjC的一些用法

    常见用法 rac_signalForSelector : 代替代理 rac_valuesAndChangesFor...

网友评论

      本文标题:RAC常见宏以及rac_lift方法

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