如何使用第n个计数获取NSArray元素?

时间:2016-08-25 05:54:10

标签: objective-c nsarray

如果有一个带有第n个计数的NSArray,我需要获取前3个元素然后接下来的3个元素。

example:- [A,B,C,D,E,F,G]  
result1:- [A,B,C]  
result2:- [D,E,F]  
result3:- [G] 

我有第n个元素的数组,我想从数组的开头到第n个元素获取每个3个元素。

尝试代码,

 myArr=[[NSMutableArray alloc]initWithObjects:@"k",@"L",@"M",@"N",@"O",@"P",@"Z",nil‌​]; 
 NSArray *getData=[myArr subarrayWithRange:NSMakeRange(i, MIN(3, myArr.count))]; 
 i=i+3; 

1 个答案:

答案 0 :(得分:1)

请尝试以下操作。

NSArray *a = @[ @1, @2, @3, @4, @5, @6, @7 ];

int start = 0;
int slice_size = 3;
while (start < a.count) {
        NSRange range = NSMakeRange(start, slice_size);
        if (range.location + range.length >= a.count) {
                range.length = a.count - range.location;
        }

        NSArray *slice = [a subarrayWithRange:range];

        NSLog(@"slice: %@", slice);

        start += slice_size;
}