调试NSMutableArray会超出范围消息

时间:2012-12-22 00:14:24

标签: objective-c

我在头文件中声明了一个NSMutableArray,然后对其进行初始化并按如下方式填充它:

pointArray = [[NSMutableArray alloc] initWithCapacity:200];

[pointArray addObject:[NSValue valueWithCGPoint:CGPointMake( 167.9688, 285.1563)]];
[pointArray addObject:[NSValue valueWithCGPoint:CGPointMake(   141.9678, 286.6211)]];

当我调试时,我看到pointArray的计数是正确的,但我无法查看数组中各个CGPoint对象的值。我从调试器收到数组中每个元素的超出范围摘要不可用消息。

已经提出了类似的问题,但我还没有找到适合这种情况的答案。如果我错过了什么,我很抱歉。

非常感谢提前。

乔恩

2 个答案:

答案 0 :(得分:1)

我不确定你尝试了什么,但如果你想要第一个你可以使用的CGPoint:


CGPoint p = [[pointArray objectAtIndex:0] CGPointValue];

如果您只想查看它们,打印NSValues工作正常:


    for (NSValue *v in pointArray)
        NSLog(@"%@", v);

修改:

抱歉,我可能误解了你的问题。我不太多使用调试器,所以我不是回答这个问题的合适人选,但this question可能会有所帮助。

答案 1 :(得分:0)

使用GDB / LLDB控制台命令。

po pointArray 
po [pointArray objectAtIndex:0]
p (CGPoint) [[pointArray objectAtIndex:0] CGPointValue]