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.