Objective c 实现自定义访问器方法时是否覆盖声明的属性属性?
假设我这样声明一个属性Objective c 实现自定义访问器方法时是否覆盖声明的属性属性?,objective-c,memory-management,declared-property,Objective C,Memory Management,Declared Property,假设我这样声明一个属性 @property (nonatomic, copy) NSObject *property; 然后我创建了一个自定义setter方法 - (void) setProperty:(NSObject *)property { _property = property; // Some more code here } 编译器是否解释copy关键字,使此setter函数等效于此 _property = [property copy]; 还是我有责任这样
@property (nonatomic, copy) NSObject *property;
然后我创建了一个自定义setter方法
- (void) setProperty:(NSObject *)property
{
_property = property;
// Some more code here
}
编译器是否解释copy
关键字,使此setter函数等效于此
_property = [property copy];
还是我有责任这样写,以便关键字与行为匹配?来自
(重点加上):
意味着copy
所有权,以及setter上复制语义的通常行为李>\u strong
\u property
是\u strong
而不是其他变量
您有责任让设定者实际制作副本,例如:
- (void) setProperty:(NSObject *)property
{
_property = [property copy];
// Some more code here
}
从中的“4.1.1属性声明”
(重点加上):
意味着copy
所有权,以及setter上复制语义的通常行为李>\u strong
\u property
是\u strong
而不是其他变量
您有责任让设定者实际制作副本,例如:
- (void) setProperty:(NSObject *)property
{
_property = [property copy];
// Some more code here
}
这是你的责任这是你的责任