Как узнать содержимое словаря при отладке в Objective-c

#objective-c #xcode4

#objective-c #xcode4

Вопрос:

 - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
  

Знакомая функция. Теперь есть этот объект attributeDict.

Я хочу знать, каковы все ключевые пары в объекте.

Я захожу в окно expression и вижу, что оно содержит NSObject, который содержит ссылку на ISA.

Итак, что мне следует делать? NSLog?

Ответ №1:

Вы можете выбрать «Распечатать описание» в контекстном меню (щелкните правой кнопкой мыши). Или в окне терминала отладки вы можете ввести po variablename . Вы также можете, как вы предлагаете, использовать NSLog .

Комментарии:

1. Я щелкаю правой кнопкой мыши и не вижу никакого описания печати в контекстном меню

2. Оно появляется либо при нажатии на переменную в списке в отладчике, либо при наведении курсора мыши на переменную в коде, в котором вы (иногда) получаете виджет для выбора.

Ответ №2:

Вы можете распечатать содержимое вашего словаря на консоль, например, используя NSLog в своем коде:

 NSLog("%@", attributeDict);
  

Или во время отладки поместите точку останова в этот метод и введите в консоли отладчика:

 po attributeDict
  

Ответ №3:

Вы можете использовать NSLog(@"%@",attributeDict); для распечатки содержимого словаря.

Если, например, вы установили точку останова и находитесь в консоли GDB, вы можете использовать po attributeDict это обозначение для объекта печати и выполнить то же самое, что и NSLog