【问题标题】:super dealloc on ARC subclassesARC 子类上的 super dealloc
【发布时间】:2014-10-12 04:56:10
【问题描述】:

在 ARC 中,我知道您不会在 -dealloc 的任何覆盖中调用 [super dealloc],因此通常我会在不这样做的情况下删除其中的观察者和计时器。但是,如果我要对我创建的视图进行子类化,该视图在-dealloc 中发布观察信息而不在子类的方法实现中调用[super dealloc],是否会自动调用超级实现以释放由超类处理的观察信息,还是会泄露?

【问题讨论】:

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


    【解决方案1】:

    dealloc 的超类实现会被自动调用(据我所知,编译器会为你插入语句[super dealloc])。

    External link to LLVM docs

    更新

    这是参考:

    ARC 中的自定义 dealloc 方法不需要调用 [super dealloc](它实际上会导致编译器错误)。到 super 的链接是由编译器自动执行的。 Transitioning to ARC Release Notes

    【讨论】:

    • 是的,我确认。它首先调用孩子的dealloc,然后调用父dealloc。
    猜你喜欢
    • 2012-08-08
    • 2014-01-13
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多