zoukankan      html  css  js  c++  java
  • ReactiveCocoa常用方法

     //1 代替kvo

    [[self.redView rac_valuesForKeyPath:@"frame" observer:nil] subscribeNext:^(id x) {
         NSLog(@"修改了");
    }];

    //2 监听事件
    [[self.btn rac_signalForControlEvents:(UIControlEventTouchUpInside)] subscribeNext:^(id x) {
         NSLog(@"按钮被点击");
    }];
    //3 代替通知
    [[[NSNotificationCenter defaultCenter] rac_addObserverForName:UIKeyboardDidShowNotification object:nil]subscribeNext:^(id x) {
         NSLog(@"%@",x);
    } ];

    //4 监听文本框
    [[self.textFiled rac_textSignal]subscribeNext:^(id x) {
          NSLog(@"%@",x);
    }];

    // 6.处理多个请求,都返回结果的时候,统一做处理.
    RACSignal *request1 = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {

         //请求数据
        //AFN
        NSLog(@"请求热销模块");
        // 发送请求1
        [subscriber sendNext:@"发送请求1"];
        return nil;
    }];

    RACSignal *request2 = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
        NSLog(@"请求最新模块");
       // 发送请求2
        [subscriber sendNext:@"发送请求2"];
       return nil;
    }];

    // 使用注意:几个信号,参数一的方法就几个参数,每个参数对应信号发出的数据。
    [self rac_liftSelector:@selector(updateUIWithR1:r2:) withSignalsFromArray:@[request1,request2]];

    // 更新UI
    - (void)updateUIWithR1:(id)data r2:(id)data1
    {
        NSLog(@"更新UI%@ %@",data,data1);
    }

    //常用宏 文本框改变 label根本改变

    // [self.textFiled.rac_textSignal subscribeNext:^(id x) {
          // _label.text = x;
    // }];

    RAC(self.label,text) = self.textFiled.rac_textSignal;

  • 相关阅读:
    如何复制百度文库中的文章转的,不用担心下载要币了[转]
    什么是中间件(转)
    android实用代码 (转)
    [Java]读取文件方法大全(转)
    Solaris下查看磁盘、内存、CPU使用程度
    Gene Ontology (GO) 简介
    如何在网上查某个基因的转录因子及启动子
    kmeans k均值聚类的弱点/缺点
    层次聚类
    什么是非负矩阵分解 NMF(Nonnegative Matrix Factorization )
  • 原文地址:https://www.cnblogs.com/xsiOS/p/5132264.html
Copyright © 2011-2022 走看看