虽然块使用起来比使用命名函数更舒服,但在调试时却非常缺乏。如果有办法获取块上下文信息,我将非常高兴,例如:代码中的位置(文件,行),捕获的变量,参数等...
P.S。 Xcode Variables面板中的描述显示块位置,但是'打印描述'命令在控制台中打印Fuction
答案 0 :(得分:0)
Xcode的Print Description
(相当于lldb命令行po
命令)在Swift中是访问"镜像的方法。在Swift运行时和标准库中。这类似于ObjectiveC Print Description
/ po
,它在对象上调用description
方法并打印由此返回的字符串。描述是"对象想要向外界呈现的视图",而不是原始实现级别视图。
无论如何,如果你想要更多来自Print Description
的信息,你应该向Swift人员提交一个bug请求来增强镜像。
OTOH,您在Xcode Locals视图中获得的信息是lldb"数据格式化程序"函数类型的摘要字符串。参见:
http://lldb.llvm.org/varformats.html
了解更多详情。您可以使用自己的一个覆盖Function的数据格式化程序以获取更多信息。任何内置格式化程序都是如此。我还没有看到挖掘你想要的东西是多么容易/多难。但无论如何,请向swift-lldb bug报告器(或http://bugreporter.apple.com)提交一个错误,以使用您需要的信息增强内置数据格式化程序。