ios - 当使用 ARC 从 UIView 调用 dealloc 时,我可以假设 ivars 仍然保留吗?
<p><p>我在 UIView 的一个子类上添加一个 KVO 观察者到它的一个 subview 。我对 subview 也有很强的引用。当我在 <code>dealloc</code> 的 subview 上调用 <code>removeObserver</code> 时,我可以假设 subview 仍然存在吗?我不想泄露观察者。 </p>
<p>基本上,ARC中调用<code>dealloc</code>时,是在这个调用之前还是之后自动调用<code></code>?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>来自 <a href="http://clang.llvm.org/docs/AutomaticReferenceCounting.html" rel="noreferrer noopener nofollow">http://clang.llvm.org/docs/AutomaticReferenceCounting.html</a> </p>
<blockquote>
<p>A class may provide a method definition for an instance method named
<code>dealloc</code>. This method will be called after the final <code>release</code> of the
object but before it is deallocated or any of its instance variables
are destroyed. The superclass’s implementation of <code>dealloc</code> will be
called automatically when the method returns.</p>
</blockquote>
<p>所以<code></code>在调用子类<code>dealloc</code>实现之后<em>被调用</em>。</p></p>
<p style="font-size: 20px;">关于ios - 当使用 ARC 从 UIView 调用 dealloc 时,我可以假设 ivars 仍然保留吗?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/16969288/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/16969288/
</a>
</p>
页:
[1]