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

标签 xcode swift closures

我有一个相当简单的问题,我希望有一个简单的答案。我正在使用 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/

相关文章:

c++ - Xcode:多个项目,不止一个主要可执行文件

iphone - 内存管理怪癖!与 NSNumber 相关

ios - 即使已发布 CIImageRefs,CIContext 内存泄漏

ios - 如何修复窗口上的库菜单(用于 Storyboard )(Xcode 10)

ios - 获取圆区域内的所有CGPoint

ios - 如何在 DatePicker IOS 中禁用某些日期/时间?

arrays - 理解 Swift 中元组数组的语法

javascript - 轻松理解 JavaScript 闭包中的示例

javascript闭包局部变量超出范围?

与 Actor 一起使用时的 Scala 变量绑定(bind)