title: When is viewWillDisappear called? and when is it not?
body: <p>I have the following scenario:</p>
  
  <p>In vcA (when user taps a button in the UI):</p>
  
  <ul>
  <li>instantiate vcB with NIB file - (when user taps a button in the UI)</li>
  <li>initialize an iVar in vcB</li>
  <li>present vcB with presentModalViewController</li>
  <li><strong>hits breakPoint in viewDidLoad of vcB</strong></li>
  <li>before the view from vcB is loaded, viewWillDisappear of vcA is called (I see it thru NSLog statements)</li>
  <li>view from vcB is loaded</li>
  <li><strong>displays the correct value of its iVar</strong> (which was set in vcA)</li>
  <li>dismiss vcB with dismissModalViewController</li>
  </ul>
  
  <p>back in view of vcA - </p>
  
  <p>repeat the process (to simulate user action of tapping the same button in UI):</p>
  
  <ul>
  <li>instantiate vcB with NIB file </li>
  <li>change the value of iVar in vcB</li>
  <li>present vcB with presentModalViewController</li>
  <li><strong>this time, the breakpoint in viewDidLoad of vcB is NOT hit</strong></li>
  <li>before the view from vcB is loaded, viewWillDisappear of vcA is called this time too</li>
  <li>view from vcB is loaded</li>
  <li><strong>displays the incorrect value of its iVar</strong>  (it is the previous value)</li>
  </ul>
  
  <p>So, I am majorly confused.</p>
  
  <ol>
  <li>Why is viewWillDisappear of vcA called? What are the conditions under which is is called?</li>
  <li><strong>Why was viewDidLoad of vcB not called second time? Should I have used 'addSubview' instead?</strong> </li>
  </ol>
  
  <p>Thanks in advance.... Sam.</p>