2011-09-19 71 views
1

在NSArray中,我有10个值。该值是这个样子:在NSArray中删除NSString的问题

Hello 
Hello2 
My 
My2 
Name 
Name2 
Is 
Is2 
XcodeDev 
XcodeDev2 

我想删除从NSArray中每一秒的NSString,所以我留下了类似下面的数组。这些值是随机的,并且每秒都不会有2个!我怎样才能做到这一点?

Hello 
My 
Name 
Is 
XcodeDev 

回答

5

首先,你将需要的NSMutableArray一个实例,因为NSArray s为不可变的,因此,你不能改变它的内容。

NSMutableArray *ary = [NSMutableArray arrayWithArray:anImmutableArray]; 

然后,您可以创建一个包含所有奇数索引的索引集:

NSMutableIndexSet *indexSet = [[NSMutableIndexSet alloc] init]; 
for (int i = 1; i < [ary count]; i=i+2) { 
    [indexSet addIndex:i]; 
} 

最后,只需调用数组removeObjectsAtIndexes:方法。

[ary removeObjectsAtIndexes:indexSet];