代码之家  ›  专栏  ›  技术社区  ›  just_another_coder

对象在dealloc和/或release时是否空闲/释放?

  •  3
  • just_another_coder  · 技术社区  · 16 年前

    我最近参加了一个客观c测试,看看我会怎么做。

    在考试中,我被问到这样一个问题:

    如何释放对象?

    答[目标[解除锁定];

    我的选择是A,我不知道是否正确。问题是令人困惑的:不释放call dealloc,从而获得相同的结果?

    3 回复  |  直到 12 年前
        1
  •  7
  •   Abizern    16 年前

    不。 release 递减对象的引用计数。

    你不打电话 dealloc 直接。呼叫 释放 减少引用计数并让运行时调用 释放内存 当引用计数变为零时。

        2
  •  0
  •   progrmr    16 年前

    release 他打电话来了吗 dealloc 之后 递减引用计数并且仅当引用计数为零时。这个 NSObject class reference 他说 释放

    "Decrements the receiver’s reference count."  
    
    "The receiver is sent a dealloc message when its reference count reaches 0."
    
        3
  •  0
  •   JeremyP    16 年前

    我知道答案已经被接受了,但我还是忍不住添加了自己的想法。

    从技术上讲,这道试题的答案是C。如果不释放对象,运行时会在认为它们不再使用时释放它们。