LLDB: просмотреть реальное значение перечисления UIModalPresentationStyle - PullRequest
0 голосов
/ 20 октября 2018

При отладке с установленной точкой останова для метода экземпляра UIViewController я решил проверить значение UIModalPresentationStyle.

Вот что я получил:

(lldb) po self.modalPresentationStyle
__C.UIModalPresentationStyle

Как я могу получить РЕАЛЬНОЕ значение переменной, а не ее тип?

Я могу "перепроектировать" ее, выполнив следующую команду:

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

Но как мне быстрее достичь желаемого результата?

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Команда po запрашивает у объекта описание самого себя.Я не уверен, почему быстрое описание объекта UIModalPresentationStyle просто печатает его тип.Это может стоить быстрой ошибки.

Но если вы попросите lldb оценить выражение и вернуть вам его значение - вместо того, чтобы представлять описание объекта этого значения - с помощью:

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

, иногда вы получите более полезный ответ.

0 голосов
/ 21 октября 2018

После некоторых экспериментов я не могу заставить LLDB напечатать символическое значение из перечисления.Однако для таких случаев есть своего рода опция «на полпути»:

po self.modalPresentationStyle.rawValue

Вы можете по крайней мере получить числовое значение позиции в перечислении и либо посмотреть на определение перечисления, либо запомнить значения ключа, чтобысоответствует номеру, который вы получите.Для строковых перечислений результат будет более понятным.

...