2015-09-25 75 views

回答

0
- (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]; 
}