RACSubject信号类

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发送"];

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容