【问题标题】:when does a property with attribute retain gets released? [duplicate]具有属性 retain 的属性何时被释放? [复制]
【发布时间】:2013-06-13 21:16:58
【问题描述】:

如果我要创建一个具有这样的属性的属性,则保留

@property (nonatomic,retain) NSArray *array;

如果使用点运算符或 setarray 方法设置此属性,则此对象的保留计数将增加。请解释一下这个属性什么时候发布?还是我必须手动释放它。

如果我这样做

self.array = nil;

在一个类的dealloc方法中,这会减少retain count吗?

【问题讨论】:

  • 这个问题已经被问过很多次了。你的谷歌研究到底在哪里失败了?

标签: ios objective-c cocoa


【解决方案1】:

每当设置为对象的强指针更改为指向 nil 时,都会减少引用计数。

如果您使用 ARC,并且没有其他指向同一个 NSArray 对象的强(或保留)指针,则只要将 self.array 设置为 nil,您的对象就会被释放。

【讨论】:

  • 他显然没有使用 ARC。不过好吧,他接受了你的回答......
猜你喜欢
  • 2018-11-23
  • 1970-01-01
  • 2010-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多