Je suis confronté à NSArray et NSDictionary profondément imbriqués et cela prend beaucoup de temps pour le moins. [data objectatindex: 0] valueForKey: @ "blah"] etc etc
Quelqu'un connaît-il une catégorie Nice iOS pour enregistrer récursivement la structure, mettre en surbrillance le type et afficher les valeurs?
Peut-être demander un peu trop mais on ne sait jamais :)
Peut-être comme ça?
for (id key in dictionary) {
NSLog(@"key: %@, value: %@ \n", key, [dictionary objectForKey:key]);
}
mais je ne peux pas penser à une belle façon de rendre la sortie belle, sauf le copier-coller dans un jsonFormatter (par exemple)
[~ # ~] éditez [~ # ~] : @Andrey Starodubtsev a la solution pour XCode> 5.x ci-dessous:
NSLog( @"%@", dictionaryYouWantToPrint );
Hmm. Facile
NSLog( @"%@", dictionaryYouWantToPrint );
sorties résultat suivant pour moi:
{
id = 1;
matchCount = 0;
matchPattern = abcdef;
number = "123456";
sessionID = 5;
status = Unknown;
timerStart = 1367229348;
}
Vous pouvez peut-être utiliser le bloc après iOS5, comme
[anArray enumerateObjectsUsingBlock:^(id object, NSUInteger index, BOOL *stop) {
NSLog (@"object->%@",object);
}];
[aDictionary enumerateKeysAndObjectsUsingBlock:^(id key, id object, BOOL *stop){
NSLog(@"key->%@, value-> %@",key,object);
}];
Cela s'imprimera dans la console sans NSLog.
Pendant le débogage, lorsque votre point d'arrêt est en dessous de votre dictionnaire, vous pouvez taper dans la console
NSDictionary * myDict = ...;
po myDict
et vous obtiendrez un dictionnaire imprimé dans la console.
Vous pouvez même convertir des objets dans un autre type dans la console: