我有一组索引 setOFIndex = {0,1,3,4}。现在我想从 NSMutableArray 中删除这组索引?
这样做的有效方法是什么?
我检查了任何库方法,但找不到任何方法。我不能直接使用 removeObjectAtIndex,因为每个删除数组都会移动一个。
我有一组索引 setOFIndex = {0,1,3,4}。现在我想从 NSMutableArray 中删除这组索引?
这样做的有效方法是什么?
我检查了任何库方法,但找不到任何方法。我不能直接使用 removeObjectAtIndex,因为每个删除数组都会移动一个。
NSMutableArray *array = [NSMutableArray arrayWithObjects: @"one", @"a", @"two", @"b", @"three", @"four", nil];
NSMutableIndexSet *indexes = [NSMutableIndexSet indexSetWithIndex:1];
[indexes addIndex:3];
[array removeObjectsAtIndexes:indexes];
NSLog(@"array: %@", array);
// Output: array: (one, two, three, four)
您应该使用 NSMUTABleArray 的方法removeObjectsAtIndexes:
这是来自文档的代码
NSMutableArray *array = [NSMutableArray arrayWithObjects: @"one", @"a", @"two", @"b", @"three", @"four", nil];
NSMutableIndexSet *indexes = [NSMutableIndexSet indexSetWithIndex:1];
[indexes addIndex:3];
[array removeObjectsAtIndexes:indexes];
NSLog(@"array: %@", array);
我只是不明白为什么人们不阅读文档。
你为什么不使用
– removeObjectsInArray:
将您的 Indexset 转换为数组,然后使用上述方法。
编辑:文档中非常直接的示例。
NSMutableArray *array = [NSMutableArray arrayWithObjects: @"one", @"a", @"two", @"b", @"three", @"four", nil];
NSMutableIndexSet *indexes = [NSMutableIndexSet indexSetWithIndex:1];
[indexes addIndex:3];
[array removeObjectsAtIndexes:indexes];
NSLog(@"array: %@", array);