LLDB:查看UIModalPresentationStyle枚举的真实值

时间:2018-10-20 11:48:24

标签: ios xcode debugging lldb

在为UIViewController实例的方法设置断点的情况下进行调试时,我决定检查UIModalPresentationStyle的值。

这就是我得到的:

(lldb) po self.modalPresentationStyle
__C.UIModalPresentationStyle

如何获取变量的REAL值,而不是类型?

我可以通过执行以下命令对其进行“反向工程”:

(lldb) po self.modalPresentationStyle == .fullScreen
false

但是我如何更快地达到预期的结果?

2 个答案:

答案 0 :(得分:3)

po命令要求对象提供其自身的描述。我不确定为什么UIModalPresentationStyle的快速对象描述只是打印其类型。那可能值得一个快速的bug。

但是,如果您要求lldb对表达式求值并为您返回其值-而不是显示该值的对象说明-

(lldb) p self.modalPresentationStyle
(UIModalPresentationStyle) $R0 = fullScreen

您有时会得到更有用的答案。

答案 1 :(得分:1)

经过一些实验,我也无法让LLDB从枚举中打印符号值。但是,对于这种情况,有一种中途选择:

po self.modalPresentationStyle.rawValue

您至少可以获取枚举中位置的数字值,然后查看枚举定义或记住键值以匹配得到的数字。对于字符串枚举,结果将更加清晰。