title: UIViewController manual instantiation within application delegate
body: <p>I'm just starting iPhone development (coming fron a .Net world) and have been going through many "Hello World" applications to get the hang of this new development platform. One area I have been confused with is the instantiation of a view controller. On an Apple "Hello World" tutorial, they start by creating a Window Based App, which by default has no view controller. They then create a UIViewController and manually instantiate that controller in the application delegate, followed by simply adding the view controller to the window (<a href="http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhone101/Articles/03_AddingViewController.html#//apple_ref/doc/uid/TP40007514-CH5-SW5" rel="nofollow noreferrer">http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhone101/Articles/03_AddingViewController.html#//apple_ref/doc/uid/TP40007514-CH5-SW5</a>).</p>
  
  <p>In contrast, if I were to create a new "View based application" project and look at the delegate implementation, all that was done to link that view controller to the main window was the following line:
  [window addSubview:viewController.view];</p>
  
  <p>Why does the tutorial indicate I must manually instantiate the view controller via alloc/init, when the pre-built "view based application" template simply adds the view controllers view to the window? What's the difference between the two?</p>