从Xcode中的控制台打印(po)Swift匿名闭包参数的值

dev*_*os1 14 xcode closures swift

我有一个相当简单的问题,希望有一个简单的答案.我使用Swift的filter方法使用匿名闭包参数过滤对象集合$0:

let filteredArray = myArray.filter {
    $0.name != "Bob"
}
Run Code Online (Sandbox Code Playgroud)

我在过滤器闭包中设置了一个断点,只想检查它的值$0,但是当我po $0在控制台上键入它时,它给了我:

(lldb)po $ 0

error :: 2:1:错误:匿名闭包参数未包含在闭包中

$ 0

^

我怎么能绕过这个?

为了清楚起见,代码编译并运行,但在运行时在控制台上给出了这个错误.

JAL*_*JAL 28

这是Xcode 8.1 GM Seed的一个已知问题.从发行说明:

Swift中的匿名闭包参数不能用于LLDB表达式.例如,po $0不受支持.

您可以使用frame variable命令打印其值:

fr va $0
Run Code Online (Sandbox Code Playgroud)

此问题归档为rdar://28611943.