在为UIViewController
实例的方法设置断点的情况下进行调试时,我决定检查UIModalPresentationStyle
的值。
这就是我得到的:
(lldb) po self.modalPresentationStyle
__C.UIModalPresentationStyle
如何获取变量的REAL值,而不是类型?
我可以通过执行以下命令对其进行“反向工程”:
(lldb) po self.modalPresentationStyle == .fullScreen
false
但是我如何更快地达到预期的结果?
答案 0 :(得分:3)
po
命令要求对象提供其自身的描述。我不确定为什么UIModalPresentationStyle的快速对象描述只是打印其类型。那可能值得一个快速的bug。
但是,如果您要求lldb对表达式求值并为您返回其值-而不是显示该值的对象说明-
(lldb) p self.modalPresentationStyle
(UIModalPresentationStyle) $R0 = fullScreen
您有时会得到更有用的答案。
答案 1 :(得分:1)
经过一些实验,我也无法让LLDB从枚举中打印符号值。但是,对于这种情况,有一种中途选择:
po self.modalPresentationStyle.rawValue
您至少可以获取枚举中位置的数字值,然后查看枚举定义或记住键值以匹配得到的数字。对于字符串枚举,结果将更加清晰。