On 15 Nov, 2012, at 12:47 PM, Daniel DeCovnick <danhd...@mac.com> wrote:

> Strong/retain for next, weak/assign for previous. 
> On Nov 14, 2012, at 7:59 PM, William Squires wrote:
> 
>> 
>> @interface DoublyLinkedListClass
>> 
>> @property (nonatomic, retain) Thing *head;
>> 
>> @end
>> 
>> "doublist.m"
>> @implementation DoublyLinkedListClass
>> 
>> @synthesize head = _head;
>> 
>> …
>> 
>> -(void)dealloc
>> {
>> self.head = nil; // Is this begging for a problem?
> no in ARC (but it's unnecessary), yes in MRC; you should [head release]; 
> instead, or you'll leak memory.
> 
> -Dan

Since the property is declared retain then setting it nil will release it just 
as [ _head release ] would (_head is the actual iVar), so no leak there, and 
that will begin the collapse the whole chain of linked objects. 

I'll leave the debate about property accessors vs direct variable access in 
init and dealloc well alone, either will work. 

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to