title: Why do I have to call super -dealloc last, and not first?
body: <p>correct example:</p>
  
  <pre><code>- (void)dealloc {
      [viewController release];
      [window release];
      [super dealloc];
  }
  </code></pre>
  
  <p>wrong example:</p>
  
  <pre><code>- (void)dealloc {
      [super dealloc];
      [viewController release];
      [window release];
  }
  </code></pre>
  
  <p>Althoug in alsmost all other cases when overriding a method I would first call the super's method implementation, in this case apple always calls [super dealloc] in the end. Why?</p>