美文网首页
RACReplaySubject信号类

RACReplaySubject信号类

作者: BigBossZhu | 来源:发表于2019-12-23 09:36 被阅读0次

    RACReplaySubject:继承自RACSubject特点:可以先发送数据在订阅信号(基于内部实现)

    内部实现和简单使用:

      1. 创建信号
        1.0 内部初始化_valuesReceived(发送的值)
        1.1 内部实现初始化_subscribers数组
      1. 订阅信号
        2.0 创建订阅者
        2.1 保存nextBlock
        2.2 拿到订阅者,遍历所有值.
        2.3 调用subscriber的sendNext方法发送所有值(此时你还没有发送的值,所以调用send不会有作用)
      1. 发送信号sendNext.
        3.0 此时会将消息addObject到_valuesReceived内保存
        3.1 遍历所有订阅者,发送数据.

    代码实现

    //1. 创建信号
    RACReplaySubject *subject = [RACReplaySubject subject];
    //2. 订阅信号
    [subject subscribeNext:^(id x) {
        NSLog(@"信号%@发送执行",x);
    }];
    //3.发送信号
    [subject sendNext:@"RACReplaySubject"];
    

    总结信号

    信号类:仅仅表示有数据产生
    订阅者:发送数据执行nextBlock
    不同的信号订阅方式不同.不同订阅者发送数据方式也不同

    复习巩固:

    相关文章

      网友评论

          本文标题:RACReplaySubject信号类

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