Xcode的'po'无法识别我想要学习的变量.WNY?

Fre*_*Lee 14 debugging swift xcode6

环境:Xcode 6 Beta 4
我试图仅使用调试器查看文本值.但是,调试器无法识别静态变量(通过'Let').对于vars也是如此.

为什么?

func textFieldShouldReturn(textField:UITextField) -> Bool {
    let myText = "Hello World"
    let theText = textField.text! as String
    return true
}
Run Code Online (Sandbox Code Playgroud)

这是调试器结果:

(lldb)po textField error :: 1:1:错误:使用未解析的标识符'textField'textField ^:11:5:错误:使用未解析的标识符'$ __ lldb_injected_self'$ __ lldb_injected_self.$ __ lldb_wrapped_expr_29(
^(lldb)po myText错误:: 1:1:错误:使用未解析的标识符'myText'myText ^:11:5:错误:使用未解析的标识符'$ __ lldb_injected_self'$ __ lldb_injected_self.$ __ lldb_wrapped_expr_30(
^(lldb)po theText error :: 1: 1:错误:使用未解析的标识符'theText'theText ^:11:5:错误:使用未解析的标识符'$ __ lldb_injected_self'$ __ lldb_injected_self.$ __ lldb_wrapped_expr_31(
^(lldb)

注意:调试输出设置为"所有输出".

这是截图:

在此输入图像描述

Jor*_*ide 15

这是我遇到的一个问题,我认为这是调试器中的一个错误.如果你不使用'let'声明的任何变量,po命令将起作用.这当然不是你想要的,所以我在这个问题上向Apple提交了一个bug.

我认为你应该希望它在下一个测试版中得到修复(请提出一个bug,因为提交的错误数量会影响Apple在修复它们时的优先级).与此同时,请使用Amitays解决方法.

  • 这绝对是一个与 Swift 相关的问题。Objective-C 版本可以工作。所以我向 Apple 提交了一个错误:报告#17823710。 (2认同)
  • Xcode 8.2.1仍有问题.看来他们没有任何解决方案! (2认同)