Existe uma maneira de visualizar os pares de chave / valor de uma variável NSDictionary por meio do depurador Xcode? Esta é a extensão das informações quando totalmente expandidas na janela de variáveis:
Variable Value Summary
jsonDict 0x45c540 4 key/value pairs
NSObject {...}
isa 0xa06e0720
Eu esperava que ele me mostrasse cada elemento do dicionário (semelhante a uma variável de matriz).
objective-c
cocoa
xcode
debugging
Dara Kong
fonte
fonte
Você pode clicar com o botão direito em qualquer variável de objeto (ObjC ou Core Foundation) e selecionar “Imprimir Descrição no Console” (também em Executar-> Visualização de Variáveis). Isso imprime o resultado do
-debugDescription
método do obejct , que por padrão chama-description
. Infelizmente,NSDictionary
sobrescreve isso para produzir um monte de dados internos com os quais você geralmente não se preocupa, então, neste caso específico, a solução de Craigb é melhor.As chaves e valores exibidos também são usados
-description
, portanto, se você quiser informações úteis sobre seus objetos em coleções e em outros lugares, substituí-description
- los é uma necessidade. Eu geralmente implemento ao longo destas linhas, para combinar com o formato daNSObject
implementação padrão :fonte
Você pode usar CFShow ()
NSMutableDictionary* dict = [[NSMutableDictionary alloc] init]; [dict setObject:@"foo" forKey:@"bar"]; [dict setObject:@"fiz" forKey:@"buz"]; CFShow(dict);
Na saída você verá
fonte
O XCode 4.6 adicionou a seguinte funcionalidade que pode ser útil para você
The elements of NSArray and NSDictionary objects can now be inspected in the Xcode debugger
Agora você pode inspecionar esses tipos de objeto sem precisar imprimir o objeto inteiro no console. Apreciar!
Fonte: http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/WhatsNewXcode/Articles/xcode_4_6.html
fonte
Clique no seu ditado e, em seguida, clique no pequeno ícone "i", ele deve fazer o trabalho :-)
fonte
Se você quiser imprimir isso em uma ação de ponto de interrupção no XCode moderno (sim, estou 10 anos após a postagem original!), Use a seguinte expressão de ponto de interrupção em uma ação de "Mensagem de Log":
@ myDictionary.description @
Abaixo está uma captura de tela da minha ação de ponto de interrupção, onde o evento da variável é um NSString e a variável contextData é o NSDictionary do qual estou registrando o conteúdo :
fonte
Você também pode usar NSLog .
Além disso, você pode ir na área de depuração ou xcode, descobrir
All Variables, Registers, Globals and Statics
e selecionar sua variável. Clique com o botão direito nele. Então selecionePrint description of "...."
Espero que ajude!
fonte