如果成员类仍然包含强引用,那么实例类是否会释放?

时间:2016-01-13 18:38:43

标签: objective-c

假设我的实例(instA)有一个名为(strong) NSString *text的属性。

我希望得到另一个(instB)实例的文字(strong) NSString *name的值。

instA.text = instB.name.

如果instB的引用计数为零,那么instA.textnil - 编辑吗?并且instB甚至可以被释放,因为其中一个成员的引用计数还不为零?

1 个答案:

答案 0 :(得分:4)

  1. 不,instA.text = instB.name代表instA添加对字符串的引用,因此在instA发布之前不会发布。
  2. 不,它没有朝另一个方向走。保留instB的成员并不会保留instB本身。
  3. Transitioning to ARC Release NotesThe Swift Programming Language中的Swift提供了更多信息。