gpt4 book ai didi

ios - 当一个属性是只读的时候,copy 和 nonatomic 就没有意义了吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:18:05 26 4
gpt4 key购买 nike

假设我有属性

@property (readonly) NSString* p1;
@property (readonly, copy) NSString* p2;
@property (readonly, nonatomic) NSString* p3;

它们之间有什么区别吗?

我认为没有区别,因为“复制”和“非原子”将没有效果,因为 setter 方法不存在。

最佳答案

这是有区别的,它会影响生成的 getter 的行为方式。

像这样:

@property (readonly) NSString* p1;

- (NSString *)p1 {
@synchronized(self) {
return _p1;
}
}

@property (readonly, copy) NSString* p2;

- (NSString *)p2 {
@synchronized(self) {
return [_p2 copy];
}
}

@property (readonly, nonatomic) NSString* p3 {

- (NSString *)p3 {
return _p3;
}

关于ios - 当一个属性是只读的时候,copy 和 nonatomic 就没有意义了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24124168/

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