例如我有数组:
NSMutableArray *array = [NSMutableArray arrayWithObjects:@1, @2, @3, nil];
数组看起来像这样:
0 => @1
1 => @2
2 => @3
然后我删除索引 0 处的对象
[array removeObjectAtIndex:0];
...和 NSMutableArray 自动重新索引数组,所以数组看起来像这样:
0 => @2
1 => @3
问题: 是否可以在删除时禁用自动数组重建索引?或者是否有类似的类可以用来代替 NSMutableArray?谢谢。
最佳答案
您不能有不连续的索引,因此最好的机会是使用占位符对象来替换已删除的索引。有点像
NSMutableArray *array = [NSMutableArray arrayWithObjects:@1, @2, @3, nil];
[array replaceObjectAtIndex:0 withObject:[NSNull null]];
现在你将拥有
0 => [NSNull null]
1 => @2
2 => @3
因此保留了非空对象的索引。
关于objective-c - NSMutableArray - 禁用重新索引删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18383960/