objective-c – 数组在Xcode 4调试器中显示为空,即使它们不是

前端之家收集整理的这篇文章主要介绍了objective-c – 数组在Xcode 4调试器中显示为空,即使它们不是前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在调试一些代码时遇到了一些问题,所以我写了这篇小文章来测试它:

NSMutableArray *output = [NSMutableArray array];
while (true) {
    NSMutableArray *input = [NSMutableArray array];
    for (int i = 0; i < 30; i++) {
        [input addObject:[NSNumber numberWithInt:i]];
    }
    [output addObject:[NSArray arrayWithArray:input]];
    NSLog(@"%@,%@",input,output);
}

我在NSLog的线路上插了一个断点,发现了一些有趣的东西.进入变量视图,我打开输入,它正确显示它充满了NSNumber对象.然后我打开输出,正确显示包含一个数组.但是,在展开此数组时,它显示为空.

然而,NSLog显示了不同的故事.它正确地将多维输出数组显示为包含填充了NSNumbers的数组.多维数组不能与调试器中的变量预览一起使用吗?这是问题的图像:

我完全被这个困惑了.还有其他人有这个问题吗?

解决方法

我已经向Apple提交了关于这个Xcode的几个版本的错误报告,并在项目构建器时代.它一直被报道为重复.显然这是一个已知的错误,但优先级低或难以修复.

其他容器类(如NSDictionary和NSSet)也存在同样的问题,因此它并不特定于NSArray.

我建议你在http://bugreport.apple.com提交一份报告,以便对这个问题施加更大的压力.并且在同一时间依赖po或NSLog来进行大多数容器类的调试需求.

猜你在找的Xcode相关文章