【发布时间】:2010-11-26 19:39:59
【问题描述】:
在一个类的 dealloc 方法中,我将如何打印出被释放实例的 ID(或其他一些唯一标识符)?
- (void)dealloc {
NSLog(@"_deallocing: ??");
[super dealloc];
}
这可能吗?我只是想在控制台中获得更多反馈,以帮助学习。
非常感谢 -gary-
【问题讨论】:
标签: objective-c memory nslog dealloc
在一个类的 dealloc 方法中,我将如何打印出被释放实例的 ID(或其他一些唯一标识符)?
- (void)dealloc {
NSLog(@"_deallocing: ??");
[super dealloc];
}
这可能吗?我只是想在控制台中获得更多反馈,以帮助学习。
非常感谢 -gary-
【问题讨论】:
标签: objective-c memory nslog dealloc
如果你特别想要对象的内存地址(如果你的类中没有实现,我想它可以被认为是一个“标识符”),你可以使用这个:
NSLog(@"deallocing %p", self);
如果您有多个特定类的实例并试图确定哪个实例在何时被释放,这会很有帮助。
【讨论】:
试试这个:
- (void)dealloc {
NSLog(@"_deallocing: %@", self);
[super dealloc];
}
这将向控制台输出有关该对象的更多信息。根据类,您将获得内存地址和类名或更详细的信息。如果您想在自己的类中提供更详细的内容,请覆盖此方法并返回您想要的任何内容:
-(NSString *)description {
return @"Something useful about this object";
}
【讨论】:
NSMutableArray,我想打印它的实例 ID。