开发者社区 问答 正文

使用 ARC 中copy的困惑

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

这是bug吗?还是在ARC中还是需要指出copy。需不需要这样:
self.someString = someStringParameter

展开
收起
爵霸 2016-03-17 10:48:25 2103 分享 版权
1 条回答
写回答
取消 提交回答
  • 首先,这不是bug

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

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

    可以让ARC自动保留(不是copy),出现的结果:
    _someString = [someStringParameter retain];

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

    2019-07-17 19:04:46
    赞同 展开评论
问答地址: