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;.

1 réaction à l'heure actuelle »

  1. 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 [...]

Fil RSS des commentaires · URI de trackbacks (modérés ...)

Laisser un commentaire

Un nom (requis)

Un mail (requis)

Peut être une URL ?

Réaction:

 

Coins sympas