RACMulticastConnection使用简介

RACMulticastConnection
当一个信号,被多次订阅时,为了保证创建信号时,避免多次调用创建信号中的block,造成副作用,可以使用该类处理。

使用步骤:
1. 创建信息
2. 将信号转换成连接类
3. 订阅连接类的信号
4. 连接

以下为代码部分:

// 1. 创建信号
RACSignal signal = [RACSignal createSignal:^RACDisposable _Nullable(id _Nonnull subscriber) {
NSLog(@”发送热门模块请求”);
[subscriber sendNext:@1];
return nil;
}];
// 2. 把信号转换成连接类
// 确定源信号的订阅者RACSubject
// RACMulticastConnection *signalConn = [signal publish];
RACMulticastConnection *signalConn = [signal multicast:[RACReplaySubject subject]];
// 3. 多个订阅
[signalConn.signal subscribeNext:^(id _Nullable x) {
NSLog(@”订阅1 : %@”, x);
}];
[signalConn.signal subscribeNext:^(id _Nullable x) {
NSLog(@”订阅2 : %@”, x);
}];
[signalConn.signal subscribeNext:^(id _Nullable x) {
NSLog(@”订阅3 : %@”, x);
}];
// 4. 连接
[signalConn connect];

执行log输出如下:
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值