ios - 调试器只显示字典的值和键的 "(no summary)"

标签 ios objective-c json xcode

我正在使用 AFNetworking 从我们的服务器获取 JSON 提要,然后我将 AFNetworking 给我的响应对象转换为 NSArray,我之前已经做过一百万次,没有问题。 JSON 只是一个数组,每个元素都是一个字典,没有什么太复杂的。

当我将响应对象转换到我的 NSArray 后设置断点时,我遇到了这个问题。当调试器启动时,它显示 NSArray,显示 NSArray 中的每个对象都是一个 NSDictionary,但是当我去查看 NSDictionary 的内容时,它只会显示值而不显示键。 key 仅显示为“(无摘要)”

Screenshot of my issue with details blurred out

我已经在我的浏览器中打开了 feed 来仔细检查它,并且我使用了一个在线 JSON 验证器来确保 feed 是有效的并且一切看起来都是正常的。

就其值(value)而言,这仅在我将 XCode 更新到最新版本 (7.3) 后才开始。

这个问题也影响了至少我的一位同事,他也不知道如何解决。使 XCode 显示键的修复程序将不胜感激。

更新

将近三年后,我找到了一份新工作,我想我明白了为什么会发生这种情况 - 尽管我无法确认,因为我无法再访问我正在从事的原始项目。

几周前我再次遇到这个问题——我的调试器告诉我有些项目是零,在一些字典键上给出“没有总结”等等。这让我发疯。

控制台给了我一些关于发生了什么的提示,说它是用优化编译的,这可能会导致调试器问题(或类似的问题),但这只是让我删除了调试器中的优化标志。这只会让我的构建变慢,并且没有让我的调试器正常运行。

事实证明,在某些时候我已经将方案的构建配置从“调试”更改为“发布”。在“发布”配置中,不发出符号调试信息并且优化了代码执行——这就是为什么控制台对我大喊我的代码是用优化编译的,以及为什么我的调试器出现问题的原因。

将方案的构建配置切换回“调试”解决了我的问题。

虽然我不知道这是否真的解决了我原来的问题,但它解决了一个类似的问题。希望这会帮助其他偶然发现这个问题的人。

最佳答案

我也遇到了同样的问题。 当我尝试使用 iPhone 5s 模拟器进行调试时,我看到了与您相同的结果:

iPhone 5s Simulator

但在 iPhone 5 Simulator 中它是 O.K :)

iHone 5 Simulator

尝试使用另一个模拟器(5 或 4 秒)

关于ios - 调试器只显示字典的值和键的 "(no summary)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36313411/

相关文章:

ios - 从字符串变量中获取的不仅仅是 char

ios - 如何在 Swift 4 中以编程方式将 IBAction 添加到按钮?

iphone - Core Graphics 文本比 Core Text 快得多——我觉得我错过了什么

ios - 更长时间跟踪用户位置

json - 是否可以动态地将多个结构合并/合并为一个结构(使用反射)?

java - 使用 JSON 文件解析信息中的 url 来显示 URL 中的图像

android - 通过 url 下载图片,或者使用 base64 转换

ios - Google Analytics for iOS 跟踪同一事件的多个帐户

ios - 将 Safari Web Inspector 与为生产编译的应用程序一起使用

objective-c - IOS 中的圆形进度条