Memory Management and @synthesized accessors
Memory Management and @synthesized accessors
- Subject: Memory Management and @synthesized accessors
- From: Stuart Malin <email@hidden>
- Date: Sat, 21 Feb 2009 08:39:11 -1000
I've seen the idiom [[property retain] autorelease] used in getter
accessors, and just re-read the Memory Management Programming Guide
(MMPG) to understand this. Now I do, and see how the perhaps once
canonical approach of having a setter release-then-retain (if the new
value is not equal to the present value) can lead to references
persisting to a released object (e.g., if the setter is invoked after
the getter has issued references). In fact, the MMPG goes so far as to
say this about this approach:
"...because of the potential dangers of invalidating objects
prematurely, use of this technique should be used sparingly and well
documented."
So, I am curious as to why the default (retain) behavior of
@synthesize does just this?
And, is there a way to tell @synthesize to use one of the other
approaches, or do I need to make such a property @dynamic and handle
the setter/getter myself?
_______________________________________________
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