Reputation: 26223
In the dealloc method for a class how would I print out the ID (or some other unique identifier) for the instance being deallocated?
- (void)dealloc {
NSLog(@"_deallocing: ??");
[super dealloc];
}
Is this possible? I am just trying to get a little more feedback in the console as an aid to learning.
many thanks -gary-
Upvotes: 15
Views: 20654
Reputation: 1247
If you specifically want the memory address of the object (which I suppose could be considered an "identifier" if you don't have one implemented in your class), you can use this:
NSLog(@"deallocing %p", self);
This can be rather helpful if you have more than one instance of a particular class and are trying to determine which is getting dealloc'd when.
Upvotes: 54
Reputation: 18776
Try this:
- (void)dealloc {
NSLog(@"_deallocing: %@", self);
[super dealloc];
}
This will output a bit more info about the object to the console. Depending on the class, you'll either get a memory address and the class name or something more detailed. If you want to give something more detailed in your own classes, override this method and return whatever you'd like:
-(NSString *)description {
return @"Something useful about this object";
}
Upvotes: 7