【发布时间】:2013-12-24 11:06:41
【问题描述】:
我无法解决问题。有一个数组NSMutableArray *array,其中包含以下值(@ "1", @ "2", @ "3", @ "4", @ "5")。
我删除第一个元素,应该得到一个数组,其值为(@ "2", @ "3", @ "4", @ "5"),其中@"2"的值为index = 0。
[array removeObjectAtIndex:0];
NSLog(@"Arr after removal is : %@",array);
在控制台中我得到:
2
3
4
5
但是!当我在调试区域放置一个断点时,我看到以下内容:
->[0]=(id)0x00000000
->[1]=(id)0x092701a0 (int)2
->[2]=(id)0x092701b0 (int)3
->[3]=(id)0x092701c0 (int)4
我不明白值“5”的元素发生了什么以及为什么第一个元素没有被删除,而只是等于 nil ???如果有人遇到这个问题 - 请告诉我 谢谢。
【问题讨论】:
-
我已经测试过并正确显示,您使用的是哪个版本的 Xcode n ios?
-
如果你的数组是
(@ "1", @ "2", @ "3", @ "4", @ "5")这种类型的值,它是String not an int的数组。 -
等待控制台打印出正确的值,但您的问题是所有 0 的空内存地址 ????你明白那等于 nil 吧?
-
好的..首先我在 xcode5 中测试过,它的显示是正确的,当我在 xcode 4.6 中检查它时,它会显示你所说的..
-
不要相信调试器的“变量”视图,它有时是完全错误的。在调试器控制台中使用 NSLog 或
po。这应该显示正确的值。
标签: objective-c arrays xcode nsmutablearray