环境:Swift,Xcode 6
如何获取Swift数组的数据项列表(po)?
以下是用于构建简单数组的Swift代码:
kindArray += "Two"
kindArray.append("Two")
var myStringArray: String[]
myStringArray = ["One", "Two"]
myStringArray.append("Three")
myStringArray += "Four"
var firstItem = myStringArray[0]
Run Code Online (Sandbox Code Playgroud)
这是调试输出:
(lldb) po firstItem
"One"
(lldb) po kindArray
Some
{
Some = 0x0ffb0000 {}
}
(lldb) po myStringArray
size=1
{
[0] = {
core = {
_baseAddress = Builtin.RawPointer = 0x00000008
_countAndFlags = 34718
_owner = Some {
Some = (instance_type = Builtin.RawPointer = 0x80000003)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的只是'一些'和'大小'.
我想展示一下内容.
当我在Xcode 6中的调试器中停止时,如何查看用声明的局部Swift常量的值let?
如果我在Xcode 6中创建一个全新的Swift项目,并application(_:didFinishLaunchingWithOptions:)在app delegate中添加以下两行:
let someConstant = 5
var someVariable = 6
Run Code Online (Sandbox Code Playgroud)
...然后运行应用程序并在这些行之后立即中断,这是我在调试器的变量视图中看到的:

为什么变量显示其值,而常量不显示?(为什么常数列出两次?)
如果在LLDB控制台,我尝试p,po或fr v上someConstant(所有这些正确显示的值someVariable),我得到如下:

我知道我可以通过println在我的源代码中使用调试器中的值来打印,但是每次我只想检查一个我声明为的值时,我真的不需要有先见之明.不变.(即使是运行expr println(someConstant)在控制台LLDB产生相同的"未解决的识别符"误差p和po).
这应该很容易.我错过了什么?
在Swift中调试时,我在读取变量时遇到了问题.在这个例子中,我试图打印出info从图像选择器返回的对象的值.(请参阅dropbox截图链接)
println从屏幕截图第19行可以看出使用正常.它打印输出的第一块东西.
在那之后,我尝试了一个po info以及突出显示变量并单击眼睛来打印描述.这两个都是空的{},这对我来说没有意义,因为那里有明显的东西.
所以我的问题是,是否有一个lldb命令或简单的方法来查看/打印出变量的值 - 与空相反{}我发现我无法一致地观察我变量的值,这是令人沮丧的.