Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: what does @property (readonly, retain) mean exactly ?




On Jan 26, 2008, at 10:56 AM, Erik Buck wrote:

 @property (readonly, retain) NSString *someString;

What does the "retain" mean in this case and is it even legal ? There won't be a synthesized -(void)setSomeString:(NSString *)aString method because the property is readonly. Does this cause the synthesis of an accesor like the following?
- (NSString *)someString
{
return [[someString retain] autorelease];
}


You will get that implementation, but because you haven't specified 'nonatomic', not because of the 'retain'.

Re putting in the 'retain', though: You may want to publicly declare the property readonly, but redeclare it readwrite in a private class extension. To redeclare the property, you have to use the same attributes that you originally specified (except for readonly/ readwrite), so if you want the private setter to use retain you must declare the public property in the same way.

<http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Articles/chapter_5_section_6.html >

mmalc

_______________________________________________

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:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

This email sent to email@hidden
References: 
 >what does @property (readonly, retain) mean exactly ? (From: Erik Buck <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.