• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: ARC vs Manual Reference Counting
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ARC vs Manual Reference Counting


  • Subject: Re: ARC vs Manual Reference Counting
  • From: Ken Thomases <email@hidden>
  • Date: Tue, 10 Sep 2013 14:52:09 -0500

On Sep 9, 2013, at 3:49 AM, Marcel Weiher wrote:

> The pattern I adopted long ago to avoid that sort of situation is to have an instance variable for my temps, in which case the code becomes:
>
> 	[self setTemp:newObject];
> 	… do stuff …
> 	[self setTemp:nil];
>
> or if you prefer dot syntax:
>
> 	self.temp = newObject;
> 	… do stuff …
> 	self.temp = nil;
>
> Even if you forget nilling, you at most have an extended lifetime of an object, not a leak.  I also generally do the same in initialization code (but not in dealloc).  For me, that simply got rid of reference-counting pain.  Completely.  Memory management is mediated by accessors, always.  And accessors are generated.

This technique is not safe for reentrant methods, whether due to multi-threading or on the same thread through (possibly indirect) recursion.  An automatic (local) temporary variable is private to that stack frame, while an instance variable is shared across the object, which usually means across many stack frames.

Something to keep in mind before adopting this.

Regards,
Ken


_______________________________________________

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


  • Follow-Ups:
    • Re: ARC vs Manual Reference Counting
      • From: Marcel Weiher <email@hidden>
References: 
 >ARC vs Manual Reference Counting (From: email@hidden)
 >Re: ARC vs Manual Reference Counting (From: Patrick Cusack <email@hidden>)
 >Re: ARC vs Manual Reference Counting (From: Jens Alfke <email@hidden>)
 >Re: ARC vs Manual Reference Counting (From: Alex Kac <email@hidden>)
 >Re: ARC vs Manual Reference Counting (From: Kyle Sluder <email@hidden>)
 >Re: ARC vs Manual Reference Counting (From: Marcel Weiher <email@hidden>)

  • Prev by Date: 64-bit iOS
  • Next by Date: Re: 64-bit iOS
  • Previous by thread: Re: ARC vs Manual Reference Counting
  • Next by thread: Re: ARC vs Manual Reference Counting
  • Index(es):
    • Date
    • Thread