美文网首页
(十一)、iOS RAC - 处理信号中的信号 三种方法

(十一)、iOS RAC - 处理信号中的信号 三种方法

作者: Buddha_like | 来源:发表于2019-03-25 17:40 被阅读0次
#import "FlatterAndMapVC.h"
#import "ReactiveObjC.h"
#import "RACReturnSignal.h"

@interface FlatterAndMapVC ()

@end

@implementation FlatterAndMapVC
/**
 RAC 处理信号中的信号 三种方法
 第一种: 双重订阅
 
 第二种: 订阅最新的信号
 
 第三种: flattenMap
 */
- (void)testFour {
    
   // [self one];
   // [self two];
    [self three];
}

- (void)one {
    
    RACSubject *subjectOfSignal = [RACSubject subject];
    RACSubject * subject = [RACSubject subject];
    [subjectOfSignal subscribeNext:^(id  _Nullable x) {
        [x subscribeNext:^(id  _Nullable x) {
            NSLog(@"%@",x);
        }];
    }];
    [subjectOfSignal sendNext:subject];
    [subject sendNext:@"干啥类"];
}

- (void)two {
    
    RACSubject *subjectOfSignal = [RACSubject subject];
    RACSubject *subject1 = [RACSubject subject];
    [subjectOfSignal.switchToLatest subscribeNext:^(id  _Nullable x) {
        NSLog(@"%@",x);
    }];
    [subjectOfSignal sendNext:subject1];
    [subject1 sendNext:@"弄啥嘞"];
}

- (void)three {
    
    RACSubject *subjectOfSignal = [RACSubject subject];
    RACSubject *subject1 = [RACSubject subject];
    [[subjectOfSignal flattenMap:^__kindof RACSignal * _Nullable(id  _Nullable value) {
        return value;
    }] subscribeNext:^(id  _Nullable x) {
        NSLog(@"%@",x);
    }];
    [subjectOfSignal sendNext:subject1];
    [subject1 sendNext:@"弄啥嘞"];
}
@end

相关文章

  • (十一)、iOS RAC - 处理信号中的信号 三种方法

  • ReactiveCocoa笔记1

    ReactiveCocoa笔记 map:方法可以转换信号,将一个信号处理后转变为另一个信号,例如: RAC(TAR...

  • 01-ReactiveObjC使用记录

    RAC 的核心思想:创建信号 - 订阅信号 - 发送信号 ,并且在 RAC 中我们会看到大量的 block RAC...

  • RAC信号处理

    map -- 映射 创建一个订阅者的映射并且返回数据(例:将textField的字符串转为其本身长度) flatt...

  • RAC学习之二

    RACSignal(信号)介绍: 核心思想:创建信号、订阅信号、发送信号 1、创建信号及发送信号 类方法创建RAC...

  • ReactiveCocoa

    一、RAC的基本概念信号RACSignal: 信号是RAC中最核心的概念,贯穿在整个RAC框架中。它其实是一个信号...

  • ReactiveCocoa深入理解

    信号signal是RAC的绝对核心,所有的操作都是围绕着信号来处理的。比如:创建信号,订阅信号,发送信号是消息发送...

  • 史上最全ReactiveCocoa(RAC)之信号类源码解析

    信号signal是RAC的绝对核心,所有的操作都是围绕着信号来处理的。比如:创建信号,订阅信号,发送信号是消息发送...

  • rac 事件概述及处理

    概述:想要知道rac就必须知道rac中的三个要点 创建信号、发送信号、订阅信号。 reactive事件 reac...

  • RAC简介

    前言 RAC是iOS开发中经常使用到响应式框架,在OC中可以通过pod导入 RAC信号创建与发送 RAC中一个常见...

网友评论

      本文标题:(十一)、iOS RAC - 处理信号中的信号 三种方法

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