gpt4 book ai didi

objective-c - 原子属性的 setter 和 getter

转载 作者:太空狗 更新时间:2023-10-30 03:11:32 32 4
gpt4 key购买 nike

对于以下属性值,自动生成的 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 。 getter 将是相同的。

关于objective-c - 原子属性的 setter 和 getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8382523/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com