上一篇为Object-C Init
dealloc方法在一个对象从内存中删除时被调用。通常在这个方法里面释放所有对象里的实例变量
-(void)dealloc
{
[super dealloc];
[caption release];
[photographer release];
}
在前两行,我们直接调用了实例变量的release方法。在这里我们不需要使用autorelease,因为标准的release更快一些(立即释放)。
最后一行非常重要,我们发送了一个[super dealloc]消息,要求父类做清理工作。如果我们不做的话,该对象就不会被从内存中删除,这就造成了内存泄漏。
当启用垃圾回收机制时,对象的dealloc方法不会被调用。此时,你可以实现一个finalize方法来代替它。
时间: 2024-10-03 13:20:41