NSMutableArray removeObjectAtIndex奇怪的问题.

evi*_*iuz 6 objective-c nsmutablearray

奇怪的行为NSMutableArray.

我已经创建了对象并填充了它.

NSMutableArray *array = [[NSMutableArray alloc] 
                         initWithObjects:@"1",@"2",@"3",@"4", nil];
[array removeObjectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)

在删除它之前看起来像:

array   NSMutableArray *    0x1040b5e0
[0] id  0x00088a44 @"1"
[1] id  0x00088a54 @"2"
[2] id  0x00088a64 @"3"
[3] id  0x00088a74 @"4"
Run Code Online (Sandbox Code Playgroud)

删除FIRST元素后:

array   NSMutableArray *    0x1040b5e0
[0] id  0x00000000 
[1] id  0x00088a54 @"2"
[2] id  0x00088a64 @"3"
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

Dav*_*nes 8

你在使用lldb进行调试吗?如果是这样,请尝试gdb.

lldb已知这种性质的错误,它会在调试会话期间报告不正确的变量值.

要将调试器更改为gdb:

  1. 单击工具栏中的目标
  2. 选择"编辑方案"
  3. 确保在左侧窗格中选择"运行"方案.
  4. 将"调试器"下拉列表从lldb更改为gdb.