有什么简单的方法可以将包含 4000 个对象的 NSArray 拆分为多个数组,每个数组包含 30 个对象?
所以现在我有一个 NSArray *stuff,其中 [stuff count] = 4133。
我想创建一个包含 30 个对象的数组的新数组。什么是循环遍历、将 *stuff 分解为新的 30 对象数组并将它们放在更大的数组中的好方法?
显然,最后一个数组中不会有 30 个(它会有剩余部分),但我需要正确处理它。
有道理吗?让我知道是否有有效的方法来执行此操作。
最佳答案
在我的脑海中,类似(未经测试)的东西:
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;
}
MIN(30, i)
处理最后一个不一定包含 30 项的数组。
关于iphone - 将包含 4000 多个对象的 NSArray 分解为多个数组,每个数组包含 30 个对象的简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6852012/