Reputation: 4973
So i'm overriding dealloc method because the object is a composite object made up of one other object.
I originally had this dealloc method:
-(id) dealloc; // Override to release the Rectangle object’s memory
{
[rect release];
[super dealloc];
return self;
}
After looking in the book I saw another answer:
{
[rect release];
return [super dealloc];
}
just wondering if both work equally.
Thanks,
Nick
Upvotes: 3
Views: 348
Reputation: 27929
I have just checked the NSObject reference: dealloc
has not return type. So, I think it is incorrect to define such a signature. Thus, call to dealloc
should not expect a return value.
Unless you are not subclassing NSObject
...
Upvotes: 0
Reputation: 243156
They're both wrong. dealloc
returns void
, not id
:
- (void) dealloc {
[rect release];
[super dealloc];
}
Upvotes: 10