将一组 RACSignal 拆分为多个批次
Split an array of RACSignal into batches
如何从平面信号阵列创建一批信号?
我在 RAC 中找不到执行此操作的任何内置方法。
- (RACSignal *)createZipBatchOf:(NSArray *)signals withBatchSize:(NSUInteger)batchSize
{
NSMutableArray *batches = [NSMutableArray new];
NSUInteger itemsRemaining = [signals count];
NSUInteger i = 0;
while(i < [signals count])
{
NSRange range = NSMakeRange(i, MIN(batchSize, itemsRemaining));
NSArray *batch = [signals subarrayWithRange:range];
[batches addObject:[RACSignal zip:batch]];
itemsRemaining -= range.length;
i += range.length;
}
return [RACSignal concat:batches];
}
如何从平面信号阵列创建一批信号?
我在 RAC 中找不到执行此操作的任何内置方法。
- (RACSignal *)createZipBatchOf:(NSArray *)signals withBatchSize:(NSUInteger)batchSize
{
NSMutableArray *batches = [NSMutableArray new];
NSUInteger itemsRemaining = [signals count];
NSUInteger i = 0;
while(i < [signals count])
{
NSRange range = NSMakeRange(i, MIN(batchSize, itemsRemaining));
NSArray *batch = [signals subarrayWithRange:range];
[batches addObject:[RACSignal zip:batch]];
itemsRemaining -= range.length;
i += range.length;
}
return [RACSignal concat:batches];
}