title: Why use TT_RELEASE_SAFELY in three20 for iPhone?
body: <pre><code>#define TT_RELEASE_SAFELY(__POINTER) { [__POINTER release]; __POINTER = nil; }
  </code></pre>
  
  <p>Why is does three20 consider it safe to assign an ivar to nil after releasing it? Is it unsafe to leave out the <code>ivar = nil</code> step?</p>
  
  <p>This is all I found:
  <a href="http://github.com/facebook/three20/commit/1b946f475fb28d60e0aafc9ef394050c642c3a5b#commitcomment-115517" rel="nofollow">http://github.com/facebook/three20/commit/1b946f475fb28d60e0aafc9ef394050c642c3a5b#commitcomment-115517</a></p>
  
  <p>I don't think I'm using KVO/KVC, but I'm not really sure. I'm reading up on it now.</p>
  
  <p>Thanks!</p>
  
  <p>Matt</p>