How to print out the value of an an Dictionary in xcode 6.1.1
在 Swift 中调试时,我在读取变量时遇到问题。在这个例子中,我试图打印出从图像选择器返回的 info 对象的值。 (请参阅 Dropbox 上的屏幕截图链接)
使用 println 从屏幕截图第 19 行可以看出效果很好。它在输出中打印出第一块内容。
在那之后,我尝试做一个 po info 以及突出显示变量并单击眼睛以打印描述。这两个都打印出一个空的 {} ,这对我来说没有意义,因为那里显然有东西。
所以我的问题是,是否有 lldb 命令或简单的方法来查看/打印变量的值 - 与空的 {} 相反,我发现我无法始终观察我的变量的值,这令人沮丧.
https://dl.dropboxusercontent.com/u/45836281/debug.png
- LLDB 调试器在 Swift 上非常糟糕,尤其是局部变量和参数。你无能为力;您已经在做的事情(println)通常是最好的解决方案。 - 您可以尝试下载 Xcode 6.2 beta,因为我感觉它会更好一些。
-
我下载了 6.2 beta 还是一样的问题。无论如何,感谢您让我知道 XCode 上 lldb 的状态。
-
我无法重现确切的问题,但 LLDB 在我的机器上也非常糟糕地(即无益地)描绘了一本字典。
-
我已经求助于在 lldb p println(json) 中做这样的事情
-
也许我的回答在这里会有所帮助
lldb 限制的解决方法(示例):
1
| (lldb) p println(countryHash!) |
输出示例:
[botswana: bw, united states minor outlying islands: um, isle of man: im, czech republic: cz, mauritius: mu, jersey: je, maldives: mv, uruguay: uy, barbados: bb, serbia: rs, qatar: qa, montenegro: me, grenada: gd, syrian arab republic: sy, samoa: ws, greenland: gl, iraq: iq, malawi: mw, croatia: hr, saint lucia: lc, seychelles: sc, egypt: eg, ...
]
(注意:国家/地区列表实际上在 lldb 输出中是完整的,但只是在上面截断以避免在此答案中浪费空间)
斯威夫特 3
如果你不喜欢默认的 lldb 表示,你也可以:
1
| (lldb) p dictionary.description |
在 Swift 2 中是: