Reputation: 899
I have an NSArray
containing objects
[ObjA, ObjB, ObjC, ObjD, ObjE ...]
I'd like to create a 3xN dimension array like so:
[ObjA, ObjB, ObjC]
[ObjD, ObjE, ObjF]
[...]
I just can't seem to wrap my ahead around my for loop.
Upvotes: 0
Views: 39
Reputation: 31782
const NSInteger objsPerGroup = 3;
NSArray *flatArray = @[objA, objB, objC, objD, objE, objF];
NSMutableArray *groupedArray = [NSMutableArray arrayWithCapacity:([flatArray count] / objsPerGroup)];
NSInteger index = 0;
NSMutableArray *currentGroup = nil;
for (id obj in flatArray)
{
if (index % objsPerGroup == 0)
{
currentGroup = [NSMutableArray arrayWithCapacity:objsPerGroup];
[groupedArray addObject:currentGroup];
}
[currentGroup addObject:obj];
++index;
}
Upvotes: 2