title: Are viewDidUnload and dealloc always called when tearing down a UIViewController?
body: <p>I'd like to know whether or not both <code>viewDidUnload</code> and <code>dealloc</code> are <em>always</em> called in succession in the UIViewController tear-down process. Is it possible that <code>dealloc</code> could be called on my view controller without <code>viewDidUnload</code> having been called first?</p>
  
  <p>In either case, if I am safely releasing the properties and retained references in both methods it wouldn't be a problem if both methods were called -- but I was wondering if anyone knew for sure or could shed some light on the tear-down process.</p>
  
  <p><strong>2012 Update:</strong> It's handy to note that as if iOS 6 <code>viewDidUnload</code> has been deprecated and should be replaced with manual view teardown <strong>if required</strong> in <code>didReceiveMemoryWarning</code>.</p>
  
  <p>A good article on the new UIView/UIViewContoller and the new behaviour and it's effects on the <a href="http://thejoeconwayblog.wordpress.com/2012/10/04/view-controller-lifecycle-in-ios-6" rel="noreferrer">joe conway blog </a></p>