Existe-t-il un moyen d'afficher les paires clé / valeur d'une variable NSDictionary via le débogueur Xcode? Voici l'étendue des informations lorsqu'elles sont entièrement développées dans la fenêtre des variables:
Variable Value Summary
jsonDict 0x45c540 4 key/value pairs
NSObject {...}
isa 0xa06e0720
Je m'attendais à ce qu'il me montre chaque élément du dictionnaire (similaire à une variable de tableau).
objective-c
cocoa
xcode
debugging
Dara Kong
la source
la source
Vous pouvez cliquer avec le bouton droit sur n'importe quelle variable d'objet (ObjC ou Core Foundation) et sélectionner «Imprimer la description sur la console» (également dans la vue Exécuter-> Variables). Cela imprime le résultat de la
-debugDescription
méthode de l'obejct , qui appelle par défaut-description
. Malheureusement,NSDictionary
cela remplace cela pour produire un tas de données internes dont vous ne vous souciez généralement pas, donc dans ce cas précis, la solution de craigb est meilleure.Les clés et valeurs affichées utilisent également
-description
, donc si vous voulez des informations utiles sur vos objets dans les collections et ailleurs, le remplacement-description
est un must. Je l'implémente généralement en suivant ces lignes, pour correspondre au format de l'NSObject
implémentation par défaut :la source
Vous pouvez utiliser CFShow ()
NSMutableDictionary* dict = [[NSMutableDictionary alloc] init]; [dict setObject:@"foo" forKey:@"bar"]; [dict setObject:@"fiz" forKey:@"buz"]; CFShow(dict);
En sortie, vous verrez
la source
XCode 4.6 a ajouté la fonctionnalité suivante qui peut vous être utile
The elements of NSArray and NSDictionary objects can now be inspected in the Xcode debugger
Vous pouvez maintenant inspecter ces types d'objet sans avoir à imprimer l'objet entier dans la console. Prendre plaisir!
Source: http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/WhatsNewXcode/Articles/xcode_4_6.html
la source
Cliquez sur votre dict, puis cliquez sur la petite icône "i", cela devrait faire l'affaire :-)
la source
Si vous souhaitez les imprimer dans une action de point d'arrêt dans XCode moderne (oui, je suis 10 ans après la publication d'origine!), Utilisez l'expression de point d'arrêt suivante dans une action "Log Message":
@ myDictionary.description @
Vous trouverez ci-dessous une capture d'écran de mon action de point d'arrêt où l'événement variable est une NSString et la variable contextData est le NSDictionary dont je consigne le contenu ::
la source
Vous pouvez également utiliser NSLog .
Vous pouvez également aller dans la zone de débogage ou xcode, puis découvrir
All Variables, Registers, Globals and Statics
puis sélectionner votre variable. Faites un clic droit dessus. Puis sélectionnezPrint description of "...."
J'espère que cela aide!
la source