美文网首页
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