在一个类的dealloc方法中,我该如何打印出被释放实例的ID(或其他唯一标识)?
- (void)dealloc {
NSLog(@"_deallocing: ??");
[super dealloc];
}
这可行吗?我只是想在控制台中获得更多的反馈以帮助学习。
非常感谢 -gary-
- (void)dealloc {
NSLog(@"_deallocing: ??");
[super dealloc];
}
这可行吗?我只是想在控制台中获得更多的反馈以帮助学习。
非常感谢 -gary-
如果你特别想要对象的内存地址(如果你在类中没有实现一个“标识符”的话,我想这也可以被认为是一个“标识符”),你可以使用以下代码:
NSLog(@"deallocing %p", self);
如果您有多个特定类的实例并且想确定哪个实例在进行dealloc时,这可能非常有帮助。
试试这个:
- (void)dealloc {
NSLog(@"_deallocing: %@", self);
[super dealloc];
}
这将在控制台输出有关对象的更多信息。根据类别,您将获得内存地址和类名或更详细的内容。如果您想在自己的类中提供更详细的信息,请重写此方法并返回您想要的任何内容:
-(NSString *)description {
return @"Something useful about this object";
}
NSMutableArray
,我想打印它的实例ID。 - Rob S.