title: What is the difference between addChildViewController and presentModelViewController
body: <p>I know there are three ways to change the view in iOS</p>
  
  <p>1.</p>
  
  <pre><code>[self addChildViewController:thirdViewController]; 
  [contentView addSubview:thirdViewController.view]; 
  </code></pre>
  
  <p>2.</p>
  
  <pre><code>First * sVC = [[First alloc] initWithNibName:@"First" bundle:[NSBundle mainBundle]]; 
  [self presentModalViewController:sVC animated:YES];
  </code></pre>
  
  <p>3.</p>
  
  <pre><code>MyViewController *sampleViewController = [[[MyViewController alloc]initWithXXX] autorelease];       
  [self.navigationController pushViewController: sampleViewController animated:true];
  </code></pre>
  
  <p>pushViewController requires the navigation controller, which I understand. However, when to use addChildViewController and presentModalViewController??</p>