Re: Documentation for -release is not quite true
Re: Documentation for -release is not quite true
- Subject: Re: Documentation for -release is not quite true
- From: "Gary L. Wade" <email@hidden>
- Date: Mon, 23 Aug 2010 18:47:50 -0700
- Thread-topic: Documentation for -release is not quite true
Have you considered that the code for -release may be implemented in a
manner like this?
-(oneway void)release
{
if (1 == self->retainCount)
{
// Let's save a few CPU cycles and not bother
// decrementing retainCount since it won't be
// around for long.
[self dealloc];
}
else
{
self->retainCount--;
}
}
On 08/23/2010 6:35 PM, "Jerry Krinock" <email@hidden> wrote:
> Kind of late in the decade for this, but anyhow, the documentation for
> -release says:
>
> - (oneway void)release
> Decrements the receiver’s reference count.
> Discussion. The receiver is sent a dealloc message when its reference
> count reaches 0.
>
> So it's always bothered me that if I override -dealloc and log the retainCount
> on the way in, it is 1, not 0.
>
> Upon doing some experiments, I believe that the first sentence in that
> documentation is wrong. It should say this instead:
>
> If the receiver's retainCount is greater than 1, decrements it. Otherwise,
> invokes -dealloc.
>
> Reading the document Memory Management Programming Guide ▸ Object Ownership
> and Disposal, one gets a similar false impression, although this document is
> vague enough that it is only misleading, not wrong.
>
> OK, someone tell me why I'm wrong about this
> :)
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden