如何查看的内容NSDictionary变量低调试器?
-
02-07-2019 - |
题
有没有办法查看key/value对NSDictionary可变通的模式,调试器?这里的范围的信息时,它是完全膨胀的变量窗口:
Variable Value Summary
jsonDict 0x45c540 4 key/value pairs
NSObject {...}
isa 0xa06e0720
我期待它来告诉我每个元素的词典(类似于一系列变量)。
解决方案
在gdb窗口中,您可以使用 po
来检查对象。
下式给出:
NSMutableDictionary* dict = [[NSMutableDictionary alloc] init];
[dict setObject:@"foo" forKey:@"bar"];
[dict setObject:@"fiz" forKey:@"buz"];
在添加对象后设置断点,您可以检查字典中的内容
(gdb) po dict
{
bar = foo;
buz = fiz;
}
当然这些是打印得很好的 NSString
对象。 YMMV与其他复杂对象。
其他提示
你可以右击任何目(ObjC或核心基金会)可变和选择"印介绍到控制台"(也在运行>的变量图)。这个打印的结果的obejct的 -debugDescription
方法,该方法通过默认的电话 -description
.不幸的是, NSDictionary
复盖此产生了一堆内部数据的通常不关心,所以在这一特定情况下craigb的解决方案更好。
显示键的和价值观也使用 -description
, 所以如果你想有用的信息对你的对象的收藏和其他地方,压倒一切的 -description
是必须的。我一般执行它沿着这些路线,相匹配的格式默认的 NSObject
执行:
-(NSString *) description { return [NSString stringWithFormat:@"<%@ %p>{foo: %@}", [self class], self, [self foo]]; }
您可以使用CFShow()
NSMutableDictionary* dict = [[NSMutableDictionary alloc] init];
[dict setObject:@"foo" forKey:@"bar"];
[dict setObject:@"fiz" forKey:@"buz"];
CFShow(dict);
在输出中,您将看到
{
bar = foo;
buz = fiz;
}
XCode 4.6添加了以下可能对您有帮助的功能
The elements of NSArray and NSDictionary objects can now be inspected in the Xcode debugger
现在您可以检查这些对象类型,而无需在控制台中打印整个对象。享受!
来源: http:// developer .apple.com /库/ MAC /#文档/ DeveloperTools /概念/ WhatsNewXcode /文章/ xcode_4_6.html
点击你的词典,然后点击小“i”。图标,它应该做的工作:-)
您也可以使用 NSLog 。
你也可以进入Debug区域或xcode,然后找出 All Variables,Registers,Globals and Statics
然后选择你的变量。右键单击它。然后选择打印描述“....”&quot;
希望它有所帮助!