Astuces développement iPhone 2: Print Object en console
Je me suis très souvent posé la question suivante: Mais pourquoi ça ne marche pas ? Qu’est ce qu’il y a dans cet objet ?. Le fait est que ce n’est pas très facile de répondre à cette question avec l’interface de débogage de Xcode. Par contre dans la console de debug, il y a une commande magnifique …
Il s’agit tout simplement de po (pour Print Object). Pour l’utiliser, rien de plus simple: mettez un point d’arrêt là où vous voulez voir ce que contient un objet. Ensuite, faites un simple po monObjet. Par exemple, créons un NSMutableDictionary …
NSMutableDictionary * monDico = [[NSMutableDictionary alloc] init];
[monDico setObject:@"objet1" forKey:@"clef1"];
[monDico setObject:@"objet2" forKey:@"clef2"];
[monDico setObject:@"objet3" forKey:@"clef3"];
[monDico setObject:@"objet4" forKey:@"clef4"];
[monDico setObject:@"objet5" forKey:@"clef5"];
Et voilà ce que nous renvoie la console après un po monDico
(gdb) po monDico
{
clef1 = objet1;
clef2 = objet2;
clef3 = objet3;
clef4 = objet4;
clef5 = objet5;
}
En fait, po fait appel à la méthode description de l’objet. Toutes les classes Cocoa de base implémentent cette méthode. Pour les classes personnelles, il vous suffit d’implémenter le protocole suivant: - (NSString *)description;.
Astuces développement iPhone 5: whatis et ptype | Webd a écrit
le 6 mai 2009 à 10:03
[...] la même veine que le Print Object en console, voici une nouvelle astuce en console de debug. L’idée n’est plus de récupérer la [...]