使用 ARC 中copy的困惑

在使用ARC时有一个NSString属性,需要@property(nonatomic, copy)。但是当我将我的工程转成ARC后,在初始化方法中依旧存在:

_someString = [someStringParameter copy]

这是bug吗?还是在ARC中还是需要指出copy。需不需要这样:

self.someString = someStringParameter

请明白人指点,谢谢

首先,这不是bug

其次,还是需要明确说明copy的

你通过copy分配实体变量,在ARC中是允许的。实现方法:

 _someString = someStringParamenter;

可以让ARC自动保留(不是copy),出现的结果:

 _someString = [someStringParameter retain];

这是因为在ARC变量下默认会指示__strong 标示符。