我有一个相当简单的问题,我希望有一个简单的答案。我正在使用 Swift 的 filter
方法使用匿名闭包参数 $0
过滤对象集合:
let filteredArray = myArray.filter {
$0.name != "Bob"
}
我在过滤器闭包内设置了一个断点,只想检查 $0
的值,但是当我在控制台上键入 po $0
时,它会给我:
(lldb) po $0
error: :2:1: error: anonymous closure argument not contained in a closure
$0
^
我该如何解决这个问题?
明确地说,代码编译并运行,但在运行时在控制台上给我这个错误。
最佳答案
这是 Xcode 8.1 GM Seed 的一个已知问题。来自release notes :
Anonymous closure arguments in Swift cannot be used in LLDB expressions. For example,
po $0
is not supported.
可以使用frame variable 命令来打印它的值:
fr va $0
此问题归档为 rdar://28611943
。
关于xcode - 从 Xcode 的控制台打印 (po) Swift 匿名闭包参数的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37798845/