我有一个 NSMutable 数组,我存储了一些初始数字。我想要做的是能够查看数字,并且在某些情况下,删除该项目并用另外两个替换它。
当 index > 0 时,我的插入/替换代码似乎可以工作,但是,当我尝试 insertObject AtIndex:0 时,它不会在 0 处插入任何内容,而是在数组末尾放置一个空对象。
为了显示插入问题,我可以创建一个空的 iOS 应用程序。
我将 NSMutableArray 创建为 ViewController 上的属性:
@property (strong) NSMutableArray *testArray;
然后在实现中:
self.testArray = [[NSMutableArray alloc] init];
[self.testArray addObject: [NSNumber numberWithInteger:1]];
[self.testArray addObject: [NSNumber numberWithInteger:2]];
[self.testArray insertObject:[NSNumber numberWithInteger:3] atIndex:0];
如果我在插入后放置一个断点,调试器会显示: [0] = (id) 0x07123180 (int) 1 [1] = (id) 0x07614210 (int) 2 [2] = (id) 0x00000000
我期望在位置 0 看到 (int) 3。
如果我设置 atIndex:1,我得到:[0] = (id) 0x07123180 (int) 1 [1] = (id) 0x07131fb0 (int) 3 [2] = (id) 0x07614210 (int) 2
哪个是对的。
为什么 index = 0 不起作用?