Re: retain and autorelease
Re: retain and autorelease
- Subject: Re: retain and autorelease
- From: Clark Cox <email@hidden>
- Date: Fri, 14 Nov 2003 17:03:58 -0500
On Nov 14, 2003, at 16:26, Ben Dougall wrote:
>
On Thursday, November 13, 2003, at 11:29 pm, Shawn Erickson wrote:
>
>
> On Nov 12, 2003, at 7:25 PM, Darwin Zins wrote:
>
>
>
>> When I do this:
>
>>
>
>> ABPerson * newMacABEntry;
>
>> newMacABEntry = (ABPerson *) [_macAddressBook recordForUniqueId:
>
>> abID ];
>
>>
>
>> Should I then do: [newMacABEntry retain]; and when I am done with it
>
>> [newMacABEntry autorelease];
>
>
>
> It depends on what you are doing. In general if you are not using the
>
> entry outside of the method you are currently in then you need not
>
> retain it. It will remain for your use while inside of your method,
>
> assuming you (or possibly someone else) do nothing to get it released
>
> earlier.
>
>
that's something i've never been sure on - the lifetime of an
>
unretained object like that. you say it'll probably hang round until
>
the end of the current method - what about if there's a method call
>
inbetween the above non retained convenience creation and the end of
>
the current method? even a simple presumably short/quick method call
>
like adding an object to an array for exmaple? that takes the thread
>
elsewhere, out of the current method. would it still be ok not to
>
retain do you think?
The lifetime of an autoreleased object has *nothing at all* to do with
the method scope. the object will stick around until the current
autorelease pool is destroyed, this happens automatically, each time
through the event loop. Of course, if you don't explicitly destroy the
current autorelease pool inside your method, then autoreleased objects
therein will indeed remain valid throughout the method.
--
Clark S. Cox III
email@hidden
http://homepage.mac.com/clarkcox3/blog/B1196589870/index.html
[demime 0.98b removed an attachment of type application/pkcs7-signature which had a name of smime.p7s]
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.