内容
RACGroupedSignal 的特点
RACGroupedSignal 的特点groupBy: 操作生成 RACGroupedSignal
groupBy: 操作生成 RACGroupedSignal使用示例
// 创建一个信号,发送一组整数
RACSignal *numbersSignal = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
[subscriber sendNext:@1];
[subscriber sendNext:@2];
[subscriber sendNext:@3];
[subscriber sendNext:@4];
[subscriber sendCompleted];
return nil;
}];
// 使用 groupBy: 将信号按奇偶分组
RACSignal *groupedSignal = [numbersSignal groupBy:^id(NSNumber *number) {
return (number.intValue % 2 == 0) ? @"Even" : @"Odd";
}];
// 订阅分组信号
[groupedSignal subscribeNext:^(RACGroupedSignal *groupedSignal) {
NSLog(@"Group: %@", groupedSignal.key);
// 针对每个分组的信号进行订阅
[groupedSignal subscribeNext:^(id x) {
NSLog(@"%@ Group - Value: %@", groupedSignal.key, x);
}];
}];总结
Last updated