0

这是我从 JSON 解析中简化的 NSMutableArray:

{
main 
{ 
  array0, 
  array1,
  array2,
  array3,    <----- remove!
  array4,    <----- remove!
  array5,
  array6,    <----- remove!
  array7,    <----- remove!
  array8,
  ...,
}
}

我正在寻找交替删除单个数组项的最佳方法,例如仅数组 2、4、6、8;另外,如果我需要删除数组 3,4 和 6,7 的 COUPLES,总是交替?

编辑:这是第一个解决方案,可以删除单个项目:

for (int i=0; i < [array count]; i = i+1) {
[array removeObjectAtIndex:i];
}
4

1 回答 1

2

对我来说,听起来您可以轻松地创建一个包含所有索引的索引集,以使用removeObjectsAtIndexes:.

您可以从中获取所有偶数(或奇数)索引对象的索引indexesOfObjectsPassingTest:

NSMutableArray *array = // Your array where objects should be removed from
NSIndexSet *indexesToRemove = [array indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
    return idx%2==0; // index is even (even objects get removed)
}];
[array removeObjectsAtIndexes:indexesToRemove];
于 2013-02-02T13:16:08.280 回答