Dans le Cacao, il n'y a pas de "vidage" comme PHP print_r ou python repr puisqu'il n'est pas au format texte qui "représente" un objet, comme dans ces langues. Si vous utilisez
NSLog(@"%@", myObj);
ou
NSString *stringRep = [NSString stringWithFormat:@"%@",myObj];
ou
NSString *stringRep = [myObj description];
vous obtiendrez (connecté à la console dans le premier cas), le résultat d' [myObj description]
, une méthode définie en NSObject
pour la fin de l'impression de la description (pas un dump) d'un objet.
Si vous appelez po myObj
de gdb, vous bénéficiez d' [myObj debugDescription]
(souvent les mêmes que description
, mais pas toujours).
Des Classes comme l' NSArray
et NSDictionary
et NSData
remplacer description
imprimer une jolie utile récursive description de leur contenu, mais par défaut [NSObject description]
imprime uniquement la valeur du pointeur correspondant à l'instance.
Si vous contrôlez le code pour les types en question, vous pouvez remplacer leur description
ou debugDescription
méthodes pour renvoyer tout ce que vous voulez. Si non, vous pourriez remplacer l' description
ou debugDescription
méthode à l'aide d'une catégorie, ou l'utilisation d'une catégorie pour définir un myDebugDescription
ou de certaines de ces que vous pouvez ensuite appeler à partir de gdb à l'aide de po [myObj myDebugDescription]
.