title: Force loading/unloading a view
body: <p>How can I setup a view controller to refresh the fields in the view only it is pushed on a navigation controller and releases the objects when it is popped from navigation controller views.</p>
  
  <p>My goal is that for a view controller:</p>
  
  <ol>
  <li>Refresh display only when it is pushed on the navigation controller stack</li>
  <li>releases data when it is popped from the navigation controller stack</li>
  <li>reuse the controller as much as possible (to eliminate xib files loading/unloading overhead)</li>
  </ol>
  
  <p>Are there any delegate methods for <code>viewWillBePushed:</code> and <code>viewWillBePopped:</code>?</p>
  
  <p><b>Example</b></p>
  
  <p>Let's say I have three layers of views:</p>
  
  <pre><code>Movies (MovieListController)
     --&gt; Movie Basic Info (MovieInfoController)
          --&gt; Movie Credits (MovieCreditsController)
  </code></pre>
  
  <p>Assume we have a class <code>Movie</code> to represent each movie.</p>
  
  <p>Here, I want to only have three <code>UIViewController</code>s, one instance of each in the runtime of the program.  So I can reuse the same <code>MovieInfoController</code> for different movies and similarly <code>MovieCreditsController</code>.</p>
  
  <p>However, I would also like <code>MovieInfoController</code> to only update its view fields (e.g. title, release date, etc) only when it is pushed on the stack.  Implementing the display in <code>viewWillAppear</code> will force it to update fields even when <code>MovieCreditsController</code> is popped.</p>
  
  <p>Also, I want <code>MovieInfoController</code> to release its reference to <code>Movie</code>, when it is popped, and any potentially large object (e.g. cover image).  Implementing this logic in <code>viewWillDisappear</code> will cause it to release the data when it is pushing <code>MovieCreditsController</code> on the stack.</p>
  
  <p>Is there reasonable?  Am I going about it the wrong way?</p>