美文网首页
RAC学习之二

RAC学习之二

作者: wenny_Liu | 来源:发表于2017-11-29 11:15 被阅读1次

RACSignal(信号)介绍:

核心思想:创建信号、订阅信号、发送信号

1、创建信号及发送信号

RACSignal *signal = [RACSignal createSignal:^RACDisposable * _Nullable(id<RACSubscriber>  _Nonnull subscriber) {
        
        //发送信号的方式有三种,都是类方法调用
        //type1:发送一般信号,发送信号类型为id类型
        [subscriber sendNext:@"发送信号"];
        //type2:发送error信号,信号类型必须为error
        [subscriber sendError:[NSError errorWithDomain:@"github.com/SkyHarute" code:2333 userInfo:@{@"errorMessage":@"异常错误"}]];
        //type3:发送complete信号
        [subscriber sendCompleted];
        /* 1.可返回RACDisposable的对象,也可返回nil
        return [RACDisposable disposableWithBlock:^{
            NSLog(@"取消订阅");
        }];
        */
        /*2.也可返回nil
         */
        return nil;
    }];

类方法创建RACSignal对象,其中subscriber为发送信号的载体;方法中Block的返回类型是RACDisposable的对象,这里也可以返回nil。

2、订阅信号

发送信号的方式有三种,对应的订阅信号的方式也有三种。注:要想接收到响应信号,必须实现相应订阅方法。

//订阅一般类型信号
    [signal subscribeNext:^(id  _Nullable x) {
        NSLog(@"类方法%@",x);
    }];
    //订阅错误信号
    [signal subscribeError:^(NSError * _Nullable error) {
        NSLog(@"%@",error);
    }];
    //订阅complete信号
    [signal subscribeCompleted:^{
        NSLog(@"complete");
    }];

相关文章

  • RAC学习之二

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

  • RAC

    ReactiveCocoa入门 学习RAC小记-适合给新手看的RAC用法总结RAC稍深入-适合新手学习RAC iO...

  • 了解这些,学习RAC不再难

    了解这些,学习RAC不再难 了解这些,学习RAC不再难

  • RAC实战

    RAC实战 RAC实战 - 专题 - 简书 RAC(ReactiveCocoa)学习资源汇总~持续更新 - CSD...

  • RAC解读

    ReactiveCocoa(RAC)是Objective-C的响应式编程的框架,学习RAC框架,即是学习如何自学一...

  • RAC之二(RACReplaySubject)

    上图是RACSubject和RACReplaySubejct订阅信号的方法,RACReplaySubject是继承...

  • 菜鸟用RAC基于AFNetworking 3.0网络的封装搭建记

    前言 这几天自己在学习RAC,学习了几天对RAC有了一定基础了解,如之前写的菜鸟开始学习ReactiveObjc运...

  • 2018-01-03 ReactiveCocoa @Weaki

    最近准备用RAC来写项目,在学习中发现RAC中经常会循环引用,RAC中的@Weakify非常好用,介绍给大家。 这...

  • rac学习

    一、bind操作,其实很简单就是做了一个信号,并且先执行当前信号的订阅,并且在当前订阅中调用订阅绑定参数的信号。假...

  • RAC学习

    RAC+MVVM www.jianshu.com/p/8d14f0465c5f

网友评论

      本文标题:RAC学习之二

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