核心代码
// 创建第一个信号
RACSignal *signal1 = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
[subscriber sendNext:@"信号 1 的值"];
[subscriber sendCompleted];
return nil;
}];
// 创建第二个信号
RACSignal *signal2 = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
[subscriber sendNext:@"信号 2 的值"];
[subscriber sendCompleted];
return nil;
}];
// 使用 zip 合并信号
RACSignal *zippedSignal = [signal1 merge:signal2];
[zippedSignal subscribeNext:^(RACTuple *tuple) {
NSLog(@"接收到: %@", tuple);
} error:^(NSError * _Nullable error) {
NSLog(@"错误: %@", error);
} completed:^{
NSLog(@"所有信号都已完成.");
}];
1、创建信号量
2、合并信号量
3、订阅信号量
Last updated