2016-08-25 41 views
0

如果有第n个计数的NSArray,我需要提取前3个元素,然后再提取下3个元素。如何获取第n个计数的NSArray元素?

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

我有第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

你试过什么? – Signare

+0

yes我试过 – techno

+0

myArr = [[NSMutableArray alloc] initWithObjects:@“k”,@“L”,@“M”,@“N”,@“O”,@“P”,@“Z”零]; NSArray * getData = [myArr subarrayWithRange:NSMakeRange(i,MIN(3,myArr.count))]; I = I + 3; – techno

回答

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; 
} 
+0

你已经钉了它。它为我工作,谢谢。 – techno