对于以下属性值,自动生成的 getter 和 setter 是什么样的?
... in .h
@interface MyClass : NSObject {
@private
NSString *_value;
}
@property(retain) NSString *value;
... in .m
@synthesize value = _value;
如果我将属性更改为
@property(retain, readonly) NSString *value;
具体来说,我对故事的原子部分感兴趣,加上保留,如果可能的话,详细的代码会更清楚地了解幕后到底发生了什么。
它们看起来像这样:
- (NSString*) value
{
@synchronized(self) {
return [[_value retain] autorelease];
}
}
- (void) setValue:(NSString*)aValue
{
@synchronized(self) {
[aValue retain];
[_value release];
_value = aValue;
}
}
如果将该属性更改为只读,则不会生成 setter。吸气剂将是相同的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)