将包含4000多个对象的NSArray分成多个数组,每个包含30个对象的简单方法是什么?

Eth*_*len 15 iphone xcode cocoa objective-c nsarray

什么是一种简单的方法将NSArray中的4000个对象分成多个数组,每个数组包含30个对象?

所以现在我有一个NSArray*东西,其中[stuff count] = 4133.

我想创建一个包含30个对象数组的新数组.什么是循环的好方法,将*东西分解为新的30个对象数组,并将它们放在更大的数组中?

显然,最后一个数组中不会有30个(它将有余数)但我需要正确处理它.

合理?如果有一种有效的方法可以让我知道.

sam*_*tte 49

在我的头顶,像(未经测试):

NSMutableArray *arrayOfArrays = [NSMutableArray array];

int itemsRemaining = [stuff count];
int j = 0;

while(itemsRemaining) {
    NSRange range = NSMakeRange(j, MIN(30, itemsRemaining));
    NSArray *subarray = [stuff subarrayWithRange:range];
    [arrayOfArrays addObject:subarray];
    itemsRemaining-=range.length;
    j+=range.length;
}
Run Code Online (Sandbox Code Playgroud)

MIN(30, i)采取这最后数组,不一定会在这30个项目的照顾.