在使用ARC时有一个NSString属性,需要@property(nonatomic, copy)
。但是当我将我的工程转成ARC后,在初始化方法中依旧存在:
_someString = [someStringParameter copy]
这是bug吗?还是在ARC中还是需要指出copy。需不需要这样:
self.someString = someStringParameter
请明白人指点,谢谢
在使用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 标示符。