新手问题:有人能告诉我如何理解/解释调试器var窗格中显示的内容吗?
例如:我正在传递NSDictionary作为方法参数。我设置了一个断点,所以我可以检查字典中的值。下面的图像(如果它通过..)显示调试器中此var的展开视图。它正确地报告它包含3个名称/值对,但是当我展开所有部分时,我根本无法找到这些存储的位置。
我是否必须创建这些名称/值对的本地变量才能在我想检查时查看它们?我知道我可以使用NSLog或printf,但有时我只是想快速浏览一下。
答案 0 :(得分:17)
右键单击该变量,单击“编辑摘要格式”并键入以下内容:
{(NSString*)[$VAR description]}:s
通过调用更昂贵的描述方法,它取代了NSDictionary的GDB格式化程序 也就是说,而不是“x键/值对”,您将看到由[ - NSDictionary描述]生成的字典内容。
这与在控制台窗口中键入po dictionary
相同。或者右键单击变量并选择“打印描述”。他们都调用了对象的描述方法。
如果您感到好奇,可以在密钥NSDictionary下的/Developer/Library/Xcode/CustomDataViews/Foundation.plist
找到此格式化程序。您键入的替换内容将保存在/Users/USERNAME/Library/Developer/Xcode/UserData/Debugger/CustomDataFormatters
中,并且会一直运行,直到您删除该文件为止。
NSDictionary实际上是一个类集群,很少有人知道内部结构。此时,您不会对该调试器树有太多用处。
答案 1 :(得分:-1)
这就是你要找的东西: 点击你的词典,然后点击小“i”图标:-)