Skip navigation.
 
mlRe: what does @property (readonly, retain) mean exactly ?
FROM : mmalc crawford
DATE : Sat Jan 26 20:28:39 2008

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

Related mailsAuthorDate
mlwhat does @property (readonly, retain) mean exactly ? Erik Buck Jan 26, 19:56
mlRe: what does @property (readonly, retain) mean exactly ? mmalc crawford Jan 26, 20:28