Il y a deux fonctions que vous pouvez se.
- (NSString*)description
Ceci sera affiché lorsque vous placerez votre objet sous la forme, I.E. un paramètre pour NSLog
. L'autre fonction de la description est:
- (NSString*)debugDescription
Ce sera appelée quand vous faites po anInstanceOfYourClass
dans la fenêtre de commande de débogage. Si votre classe n'a pas de fonction debugDescription
, alors description
sera appelée.
Notez que la classe de base NSObject
a implémenté description
, mais il est assez bare-bones: il affiche uniquement l'adresse de l'objet. C'est pourquoi je recommande que vous implémentez description
dans n'importe quelle classe dont vous voulez obtenir des informations, surtout si vous utilisez la méthode description
dans votre code. Si vous utilisez description
dans votre code, je vous suggère d'implémenter également debugDescription
, rendant également debugDescription
plus verbeux.
Notez que si vous utilisez CoreData, la propriété 'description' [est réservée] (http://stackoverflow.com/questions/4717519/why-cant-i-use- description-as-an-attribute-name-for-a-core-data-entity) ... et fournira des informations de débogage utiles! Dans ce cas, vous devrez créer votre propre nom de méthode. – Nuthatch
Est-ce que 'debugDescription' est également réservé? Bien que je pense que 'DebugDescription' est supposé être utilisé par un débogueur comme LLDB. – MaddTheSane