将数组拆分成固定长度数组

#pragma mark -- 将数组拆分成固定长度

/**

*  将数组拆分成固定长度的子数组

*

*  @param array 需要拆分的数组

*

*  @param subSize 指定长度

*

*/

- (NSArray*)splitArray: (NSArray*)array withSubSize : (int)subSize{

//  数组将被拆分成指定长度数组的个数

unsigned long count = array.count% subSize ==0? (array.count/ subSize) : (array.count/ subSize +1);

//  用来保存指定长度数组的可变数组对象

NSMutableArray*arr = [[NSMutableArray alloc]init];

//利用总个数进行循环,将指定长度的元素加入数组

for(inti =0; i < count; i ++) {

//数组下标

intindex =i* subSize;

//保存拆分的固定长度的数组元素的可变数组

NSMutableArray*arr1= [[NSMutableArray alloc]init];

//移除子数组的所有元素

[arr1 removeAllObjects];

intj = index;

//将数组下标乘以1、2、3,得到拆分时数组的最大下标值,但最大不能超过数组的总大小

while(j < subSize*(i +1) && j < array.count) {

[arr1 addObject:[arr ayobjectAtIndex:j]];

j +=1;

}

//将子数组添加到保存子数组的数组中

[arr addObject:[arr1copy]];

}

return[arr copy];

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容