这让我很难过。
我构建了一个NSArray和initWithObjects。最后一个元素永远不会真正分配。实际上,我的代码中的下一个alloc占用的内存地址与从最后一个元素指向的内存地址相同。
代码是:
coordArr = [[NSArray alloc]initWithObjects:
[NSValue valueWithCGPoint:CGPointMake(200.0,40.0)],
[NSValue valueWithCGPoint:CGPointMake(56.0,290.0)],
[NSValue valueWithCGPoint:CGPointMake(99.0,35.0)],
[NSValue valueWithCGPoint:CGPointMake(222.0,333.0)],
[NSValue valueWithCGPoint:CGPointMake(60.0,60.0)],
[NSValue valueWithCGPoint:CGPointMake(105.0,299.0)],
nil];
调试器显示:
alt text http://sergepress.com/temp/NSArray.png
如果您有任何想法,那会有所帮助。 谢谢!
答案 0 :(得分:1)
不要总是信任调试器,我曾经多次调试器在变量中的错误,就像在你的情况下它说无效的时候它真的不是,所以如果我是你我只会输出使用NSLog编号并查看是否输出(它会)。