这两种dealloc方法之间有什么区别吗?

nic*_*ude 3 memory-management objective-c dealloc

所以我重写了dealloc方法,因为该对象是一个由另一个对象组成的复合对象.

我原来有这种dealloc方法:

-(id) dealloc; // Override to release the Rectangle object’s memory 
{
    [rect release];
    [super dealloc];
    return self;
}
Run Code Online (Sandbox Code Playgroud)

看完这本书后,我看到了另一个答案:

{
   [rect release];
   return [super dealloc];
}
Run Code Online (Sandbox Code Playgroud)

只是想知道两者是否同样有效.

谢谢,

缺口

Dav*_*ong 10

他们都错了. dealloc返回void,而不是id:

- (void) dealloc {
  [rect release];
  [super dealloc];
}
Run Code Online (Sandbox Code Playgroud)