我之前一直在解决调试代码时遇到的问题,所以我写了这个小片段来测试它:
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
所在的那一行设置了断点,发现了一些有趣的事情。进入变量视图后,我打开了input并正确地将其显示为填充有NSNumber对象。然后我打开了output,正确地显示为包含一个数组。但是,在展开此数组时,它显示为空。然而,NSLog却显示了不同的结果。它正确地将多维输出数组显示为包含填充有NSNumbers的数组。多维数组在调试器中的变量预览中不起作用吗?以下是问题的图像:
![enter image description here](https://istack.dev59.com/h44gX.webp)
isa
指针)... - jtbandes__NSArrayI *
。是时候提交错误报告了! - Alexis King