tom*_*tom 24 properties atomic objective-c getter-setter
什么是自动生成的getter和setter看起来像以下属性值?
... in .h
@interface MyClass : NSObject {
@private
NSString *_value;
}
@property(retain) NSString *value;
... in .m
@synthesize value = _value;
Run Code Online (Sandbox Code Playgroud)
如果我改变属性怎么办?
@property(retain, readonly) NSString *value;
Run Code Online (Sandbox Code Playgroud)
特别是我对故事的原子部分感兴趣,加上保留,如果可能的话,详细的代码将更清楚地说明幕后发生了什么.
zpa*_*ack 24
它们看起来像:
- (NSString*) value
{
@synchronized(self) {
return [[_value retain] autorelease];
}
}
- (void) setValue:(NSString*)aValue
{
@synchronized(self) {
[aValue retain];
[_value release];
_value = aValue;
}
}
Run Code Online (Sandbox Code Playgroud)
如果将属性更改为只读,则不会生成任何setter.吸气剂将是相同的.
归档时间: |
|
查看次数: |
8849 次 |
最近记录: |