FROM : Christiaan Hofman
DATE : Thu May 08 15:32:24 2008
On 8 May 2008, at 3:16 PM, Paul Sargent wrote:
> On Thu, May 8, 2008 at 12:34 AM, mmalc Crawford <mmalc-
> <email_removed>>
> wrote:
>
>>
>> On May 7, 2008, at 2:47 PM, Christiaan Hofman wrote:
>>
>> No. The rule is that only methods containing "create", "copy", and
>> "alloc"
>>> in their name implicitly retain.
>>>
>>> No, this is wrong.
>
>
> I have to say, even with a link to the documentation, that statement
> just
> makes me more confused. I'm not sure what it is you're objecting to.
>
> Is it that objects returned by those methods haven't been
> [retain]'d, they
> just haven't been [autorelease]'d?
I know, because I know what gets me confused. It's not "create" but
"new". The confusion is partly due to the OP (who listed it as the
part he said he understands), and partly due to Carbon, as there the
similar keywords are "Copy" and "Create".
IMHO, I think the "new" rule was a mistake, because it's confusing
(given the Carbon rule), and moreover it is rather an exception than a
rule (I've never used it, and I know only a single example in Cocoa,
which is an utterly expendable).
Also note that the documentation <http://developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/Tasks/MemoryManagementRules.html
> is not sacred, as it has exceptions (which are not mentioned in the
ownership docs AFAICS).
Christiaan
Christiaan
DATE : Thu May 08 15:32:24 2008
On 8 May 2008, at 3:16 PM, Paul Sargent wrote:
> On Thu, May 8, 2008 at 12:34 AM, mmalc Crawford <mmalc-
> <email_removed>>
> wrote:
>
>>
>> On May 7, 2008, at 2:47 PM, Christiaan Hofman wrote:
>>
>> No. The rule is that only methods containing "create", "copy", and
>> "alloc"
>>> in their name implicitly retain.
>>>
>>> No, this is wrong.
>
>
> I have to say, even with a link to the documentation, that statement
> just
> makes me more confused. I'm not sure what it is you're objecting to.
>
> Is it that objects returned by those methods haven't been
> [retain]'d, they
> just haven't been [autorelease]'d?
I know, because I know what gets me confused. It's not "create" but
"new". The confusion is partly due to the OP (who listed it as the
part he said he understands), and partly due to Carbon, as there the
similar keywords are "Copy" and "Create".
IMHO, I think the "new" rule was a mistake, because it's confusing
(given the Carbon rule), and moreover it is rather an exception than a
rule (I've never used it, and I know only a single example in Cocoa,
which is an utterly expendable).
Also note that the documentation <http://developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/Tasks/MemoryManagementRules.html
> is not sacred, as it has exceptions (which are not mentioned in the
ownership docs AFAICS).
Christiaan
Christiaan






Cocoa mail archive

