我在使用subArrayWithRange时遇到问题。
基本上,我想做的是从mainArray制作50个或更少元素的子数组 例如,如果mainArray有70个元素,我希望sortedArray在第一个索引中包含前50个元素的数组,在sortedArray的最后一个索引中包含20个元素的另一个数组
希望我清楚自己想做什么。
无论如何,我的代码是
for (int i=0; i<=ceilLoopCount; i++) {
[sortedArray insertObject:[testArray subarrayWithRange:NSMakeRange(0,50)] atIndex:i];
}
我遇到的问题是我在所有数组中只得到相同的50个元素
请帮忙, Pondd
答案 0 :(得分:14)
NSUInteger size = 50;
for (NSUInteger i = 0; i * size < [testArray count]; i++) {
NSUInteger start = i * size;
NSRange range = NSMakeRange(start, MIN([testArray count] - start, size));
[sortedArray addObject:[testArray subarrayWithRange:range]];
}
答案 1 :(得分:0)
NSMutableArray *arrayOfArrays = [NSMutableArray array];
int batchSize = 30;
for(int j = 0; j < [stuff count]; j += batchSize) {
NSArray *subarray = [stuff subarrayWithRange:NSMakeRange(j, MIN(batchSize, [stuff count] - j))];
[arrayOfArrays addObject:subarray];
}