On Sep 10, 2013, at 21:52 , Ken Thomases <k...@codeweavers.com> wrote:
> 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, Hi Ken, I should have been more clear: this technique is not needed for ordinary methods or ordinary local variables. I use it for those types of methods that are run asynchronously and that therefore want to retain a temp. Those sorts of methods are not re-entrant anyhow. Cheers, Marcel _______________________________________________ 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