无法在NSArray中删除NSStrings

时间:2011-09-19 19:42:36

标签: objective-c nsstring nsarray

在NSArray中,我有10个值。值看起来像这样:

Hello
Hello2
My
My2
Name
Name2
Is
Is2
XcodeDev
XcodeDev2

我想从NSArray中删除每一个NSString,所以我留下了如下所示的数组。这些值是随机的,并且每秒都没有附加2!我怎么能这样做?

Hello
My
Name
Is
XcodeDev

1 个答案:

答案 0 :(得分:5)

首先,您需要一个NSMutableArray的实例,因为NSArray是不可变的,因此您无法更改其内容。

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