【发布时间】:2014-09-09 02:57:34
【问题描述】:
当我为 @property 覆盖 setter 时,我有疑问。
即:
如果我设置这样的属性:
@property (strong) NSString *name;
在 'MRC' 中,它会自动生成 getter 和 setter,假设 setter 会像这样实现:
- (void)setName:(NSString *)name
{
[_name release]; // Release previous.
_name = name;
[_name retain]; // Remain object.
}
当我在“MRC”中覆盖 setter 时,我可以通过遵循上面代码中的“强”行为来管理对象,
但是当在“ARC”中时,setter 将实现什么或如何管理对象以使其行为像“强”,因为它在“ARC”中没有“保留和释放”?
感谢您的宝贵时间!
【问题讨论】:
-
您应该阅读有关 ARC 的文档。它涵盖了此类信息。
-
顺便说一句,您的 MRC 实施很糟糕。第一行必须是
autorelease
标签: ios objective-c