0

我有一个带有 5 个对象的 NSMutableArray

[0] StateGeographicComponent *  0x0a455ba0
[1] StateGeographicComponent *  0x11c374b0
[2] StateGeographicComponent *  0x08e5f720
[3] StateGeographicComponent *  0x11c15430
[4] StateGeographicComponent *  0x0a458f20

执行以下代码行后:

[self.gameComponents removeObjectAtIndex:0];

而不是像我期望的那样简单地删除索引 0 处的对象并将所有内容向上滑动。索引 [0] 处的对象设置为 nil,并且索引 [4] 处的对象被删除。

[0] id  0x00000000
[1] StateGeographicComponent *  0x11c374b0
[2] StateGeographicComponent *  0x08e5f720
[3] StateGeographicComponent *  0x11c15430

让我很困惑。。

4

1 回答 1

-4

使用以下代码行

[self.gameComponents replaceObjectAtIndex:0 withObject:[NSNull null]];
[self.gameComponents removeLastObject];

第一行代码用单例实例替换对象,NSNull第二行代码从数组中删除最后一个对象。

于 2013-08-15T02:31:41.010 回答