【问题标题】:What is Automatic Reference Counting's impact on an arrow -> dereference?自动引用计数对箭头 -> 取消引用的影响是什么?
【发布时间】:2017-10-20 04:09:41
【问题描述】:

如果我说self->ivar = [[Foo alloc] init];,ARC 是否真的保留了新对象?还是这种类型的分配通常用于防止保留?

【问题讨论】:

  • 什么“新对象”,与“->”相关?作业的 RHS 与问题无关;考虑 LHS 是否不是“取消引用”。

标签: objective-c memory-management automatic-ref-counting ivar


【解决方案1】:

ARC 是否真的保留了新对象?

这取决于ivar 的属性。如果ivar 具有强所有权资格(大多数变量的默认值),则该对象将被保留。

如何找到变量并不重要;它是本地的、全局的、隐式实例(只是变量名)、显式实例(例如您的示例中的->)等;重要的是变量的所有权限定符是什么 - ARC 将按照所有权限定符的指示做正确的事情。

HTH

【讨论】:

    猜你喜欢
    • 2012-02-15
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-15
    相关资源
    最近更新 更多