当前位置:  开发笔记 > 前端 > 正文

如何在Xcode调试器中查看NSDictionary变量的内容?

如何解决《如何在Xcode调试器中查看NSDictionary变量的内容?》经验,为你挑选了3个好方法。

有没有办法通过Xcode调试器查看NSDictionary变量的键/值对?以下是在变量窗口中完全展开时的信息范围:

Variable  Value      Summary
jsonDict  0x45c540   4 key/value pairs
 NSObject {...}
  isa     0xa06e0720

我期待它向我展示字典的每个元素(类似于数组变量).



1> craigb..:

在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与其他复杂对象.


好!所以gdb实际上是Console中的提示,您可以在其中输入命令.通过键入"po object_name",您可以在控制台中打印对象内容.
嗨!什么是gdb?什么是宝?不确定理解...感谢您的帮助!:)
po是print-object的别名
这已经很晚了,但你是一个伟大的伟人.

2> Jens Ayton..:

您可以右键单击任何对象(ObjC或Core Foundation)变量,然后选择"将描述打印到控制台"(也可以在Run-> Variables View中).这将打印出obejct -debugDescription方法的结果,默认情况下调用该方法-description.不幸的是,NSDictionary覆盖它会产生一堆你通常不关心的内部数据,所以在这种特殊情况下,craigb的解决方案更好.

显示的键和值也可以使用-description,因此如果您需要有关集合和其他地方的对象的有用信息,-description则必须覆盖.我通常会沿着这些行实现它,以匹配默认NSObject实现的格式:

-(NSString *) description
{
    return [NSString stringWithFormat:@"<%@ %p>{foo: %@}", [self class], self, [self foo]];
}



3> uranpro..:

你可以使用CFShow()

NSMutableDictionary* dict = [[NSMutableDictionary alloc] init];
[dict setObject:@"foo" forKey:@"bar"];
[dict setObject:@"fiz" forKey:@"buz"];
CFShow(dict);

在输出中你会看到

{
  bar = foo;
  buz = fiz;
}

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有