美文网首页
RACSubject信号类

RACSubject信号类

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

    RACSubject:信号提供者,特点:既能接收信号也能发送信号可以用同一对象.
    为什么会有这个特点:继承RACSignal遵循<RACSubscriber>

    @interface RACSubject : RACSignal <RACSubscriber>
    

    内部实现和简单使用:

      1. 创建信号
        1.0 内部实现初始化_subscribers数组
      1. 订阅信号
        2.0 创建订阅者RACSubscriber
        2.1 保存nextBlock
        2.2 怎么处理订阅的:[subscribers addObject:subscriber];
      1. 发送信号sendNext
        3.1 遍历所有订阅者RACSubscriber执行nextBlock发送消息.

    代码实现

    作用:逆向传值替代代理和block.
    
    //1. 创建信号
    RACSubject *subject = [RACSubject subject];
        
    //2. 订阅信号
    [subject subscribeNext:^(id x) {
        NSLog(@"订阅者1接收到信号%@",x);
    }];
    [subject subscribeNext:^(id x) {
        NSLog(@"订阅者2接收到信号%@",x);
    }];
    
    //3. 发送信号
    [subject sendNext:@"subject发送"];
    
    

    相关文章

      网友评论

          本文标题:RACSubject信号类

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