Hay dos funciones que usted puede u se.
- (NSString*)description
Esto se mostrará cuando coloque su objeto como, I.E. un parámetro para NSLog
. La otra función es Descripción:
- (NSString*)debugDescription
Esto se llamará cuando lo hace po anInstanceOfYourClass
en la ventana de comandos de depuración. Si su clase no tiene una función debugDescription
, entonces se llamará a description
.
Tenga en cuenta que la clase base NSObject
tiene description
implementado, pero es bastante escueto: solo muestra la dirección del objeto. Es por eso que le recomiendo que implemente description
en cualquier clase de la que desee obtener información, especialmente si utiliza el método description
en su código. Si usa description
en su código, le sugiero que implemente debugDescription
también, haciendo que debugDescription
sea más detallado.
Nota: si está utilizando CoreData, la propiedad 'description' [está reservada] (http://stackoverflow.com/questions/4717519/why-cant-i-use- description-as-an-attribute-name-for-a-core-data-entity) ... ¡y proporcionará información de depuración útil! En ese caso, tendrá que encontrar su propio nombre de método único. – Nuthatch
¿Está 'debugDescription' también reservado? Aunque creo que 'DebugDescription' se supone que debe ser utilizado por un depurador como LLDB. – MaddTheSane