0

我在头文件中声明了一个 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 对象的值。对于数组中的每个元素,我从调试器收到了超出范围摘要不可用的消息。

有人问过类似的问题,但我还没有找到适用于这种情况的答案。如果我遗漏了什么,我深表歉意。

提前谢谢了。

乔恩

4

2 回答 2

1

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


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

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


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

编辑:

对不起,我可能误解了你的问题。我不经常使用调试器,所以我不是回答这个问题的合适人选,但这个问题可能会有所帮助。

于 2012-12-22T00:41:27.300 回答
0

使用 GDB/LLDB 控制台命令。

po pointArray 
po [pointArray objectAtIndex:0]
p (CGPoint) [[pointArray objectAtIndex:0] CGPointValue]
于 2012-12-22T04:23:49.760 回答