美文网首页很常
iOS 把数组分割成规定个数个的数组

iOS 把数组分割成规定个数个的数组

作者: 路边的风景呢 | 来源:发表于2019-08-06 14:26 被阅读0次

    这个也是在网上找的别人的,我这里的需求是:在一个tableview的cell创建了两个ImageView 分别展示不同的图片 还有标题等。但是返回的数据却是用一个数组返回来的 ,所有就把数组分割成2个一组的多个数组。然后再进行赋值。希望能帮到大家。

    这里记录一下:其实有写界面不用CollectionView做也行,一个cell上循环创建多个控件以后, 然后从后台拿到数据以后用下面的方法,把数组分割成你想要的状态然后,给控件添加tag值,最后Setter一下cell里的数组,给数组赋值,接下里就按照正常的获取数据的方式去获取就可以了。

    - (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];

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

            [arr1removeAllObjects];

            intj = index;

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

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

                [arr1 addObject:[array objectAtIndex:j]];

                j +=1;

            }

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

            [arraddObject:[arr1copy]];

        }

        return[arrcopy];

    }

    相关文章

      网友评论

        本文标题:iOS 把数组分割成规定个数个的数组

        本文链接:https://www.haomeiwen.com/subject/mwgidctx.html