objective-c memory nslog dealloc

objective c - ¿Imprimir identificación de instancia en NSLog?



objective-c memory (2)

En el método dealloc para una clase, ¿cómo imprimiría la identificación (o algún otro identificador único) para la instancia que se desasigna?

- (void)dealloc { NSLog(@"_deallocing: ??"); [super dealloc]; }

es posible? Solo estoy tratando de obtener un poco más de retroalimentación en la consola como una ayuda para el aprendizaje.

muchas gracias


Prueba esto:

- (void)dealloc { NSLog(@"_deallocing: %@", self); [super dealloc]; }

Esto arrojará un poco más de información sobre el objeto a la consola. Dependiendo de la clase, obtendrás una dirección de memoria y el nombre de la clase o algo más detallado. Si desea dar algo más detallado en sus propias clases, anule este método y devuelva lo que desee:

-(NSString *)description { return @"Something useful about this object"; }


Si desea específicamente la dirección de memoria del objeto (que supongo que podría considerarse un "identificador" si no tiene uno implementado en su clase), puede usar esto:

NSLog(@"deallocing %p", self);

Esto puede ser útil si tiene más de una instancia de una clase en particular y está tratando de determinar cuál es la que se está tramitando cuando.