这两种dealloc方法之间有什么不同吗?

时间:2010-05-09 01:56:14

标签: objective-c object

第一个:

- (void)dealloc {
    [super dealloc];
    [AboutButton release];
}

第二个:

- (void)dealloc { 
    [AboutButton release];
    [super dealloc];
}

两种方法都是delloc,首先运行超级优先,另一种运行后来运行,哪一种是正确的,或者两者之间没有差异。太赫兹。

1 个答案:

答案 0 :(得分:6)

有一点不同,因为在调用[super dealloc]之前,你可以保证超类中存在ivars。在那次电话会议之后,ivars将会消失。

我不知道先调用[super dealloc]是否会产生问题,但NSObject的{​​{3}}表示您应先释放内存,然后致电[super dealloc]

  

在执行特定于类的释放后,子类方法应该通过消息将dealloc的超类版本合并到超级