iOS开发- 快速将数组 分成若干个小组
2018-10-20 本文已影响12人
CocoaJason
//创建大数组
NSMutableArray *allNumberAry = [NSMutableArray arrayWithCapacity:1000];
for (NSInteger idx = 0; idx < 39482; idx ++)
{
[allNumberAry addObject:[NSNumber numberWithInteger:idx]];
}
if (allNumberAry.count > 0)
{
//每组最大数量
NSInteger oneGroupCount = 100;
//组数
NSInteger groupCount = (allNumberAry.count - 1) / oneGroupCount + 1;
//前面每组达到最大数量之后,剩余不足最大数量的元素个数
NSInteger surplusCount = allNumberAry.count % oneGroupCount;
for (NSInteger group = 0; group < groupCount; group ++)
{
//先假设每组都可以放最大元素数量
NSRange range = NSMakeRange(group * oneGroupCount, oneGroupCount - 1);
//假如剩余个数大于0,则需要添加一组盛放剩下的元素
if (surplusCount > 0 &&
group == groupCount - 1)
{
//将范围修改
range = NSMakeRange(group * oneGroupCount, surplusCount);
}
NSArray *subAry = [allNumberAry subarrayWithRange:range];
NSLog(@"%ld",subAry.count);
}
}