NSIndexPath: полезная сводная строка lldb

При отладке с помощью lldb в Xcode я хотел бы видеть в окне отладчика простую сводную строку для объектов NSIndexPath. Что-то типа:

indexPath = (NSIndexPath *) {раздел=2: строка=0}

было бы намного полезнее, чем то, что отображается lldb по умолчанию:

indexPath = (NSIndexPath *) [NSIndexPath * @ скалярный раздел]

Я пробовал много средств форматирования сводных строк, записанных в мой файл .lldbinit, среди них:

введите сводку, добавьте NSIndexPath --summary-string '${var.section}'

введите сводку, добавьте NSIndexPath --summary-string '${[var section]}'

введите сводку, добавьте NSIndexPath --summary-string '[${var section}]'

введите сводку, добавьте NSIndexPath --summary-string '[раздел ${var}]'

Результат для первых трех:

indexPath NSIndexPath * ошибка: ошибка синтаксического анализа сводной строки 0x08e309a0

и для последнего:

indexPath NSIndexPath * [NSIndexPath * @ скалярный раздел] 0x08a45b80

что не намного полезнее.

Знаете ли вы, как заставить lldb отображать более полезную сводную строку для NSIndexPath?


person Voyteck    schedule 24.03.2014    source источник


Ответы (1)


(lldb) сводка типа добавить NSIndexPath -s "${var%@}"

По сути, это покажет вам тот же результат, что и

(lldb) по myIndexPath

бы - за счет запуска выражения каждый раз, когда вы смотрите на путь индекса, который может быть или не быть тем, что вы хотите

person Enrico Granata    schedule 25.03.2014
comment
Да, это приводит к следующему выводу: indexPath NSIndexPath * <NSIndexPath: 0x8c9c970> {length = 2, path = 1 - 1} 0x08c9c970. Это не совсем то, о чем я мечтал, но это гораздо более коммуникативно, чем вывод по умолчанию, и избавляет меня от этого раздражающего щелчка по раскрывающемуся треугольнику только для того, чтобы увидеть раздел и строку / элемент. Спасибо :) - person Voyteck; 27.03.2014