將數(shù)組拆分成固定長度數(shù)組

#pragma mark -- 將數(shù)組拆分成固定長度

/**

*??將數(shù)組拆分成固定長度的子數(shù)組

*

*??@param?array?需要拆分的數(shù)組

*

*??@param?subSize?指定長度

*

*/

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

//??數(shù)組將被拆分成指定長度數(shù)組的個數(shù)

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

//??用來保存指定長度數(shù)組的可變數(shù)組對象

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

//利用總個數(shù)進行循環(huán),將指定長度的元素加入數(shù)組

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

//數(shù)組下標

intindex?=i*?subSize;

//保存拆分的固定長度的數(shù)組元素的可變數(shù)組

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

//移除子數(shù)組的所有元素

[arr1 removeAllObjects];

intj?=?index;

//將數(shù)組下標乘以1、2、3,得到拆分時數(shù)組的最大下標值,但最大不能超過數(shù)組的總大小

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

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

j?+=1;

}

//將子數(shù)組添加到保存子數(shù)組的數(shù)組中

[arr addObject:[arr1copy]];

}

return[arr copy];

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容