title: What kind of project type for TableViewSuite App
body: <p>I am moving from theory to some practice. I've downloaded from Apple site a couple of sample codes. The first app is TableViewSuite from </p>
  
  <p><a href="https://developer.apple.com/library/ios/#samplecode/TableViewSuite/Introduction/Intro.html" rel="nofollow">https://developer.apple.com/library/ios/#samplecode/TableViewSuite/Introduction/Intro.html</a></p>
  
  <p>Looks nice and attractive. The most thing I like is mastering .nib file programmatically. I tried to repeat this app, but oh Dear, what kind of project to choose?</p>
  
  <ol>
  <li>Navigation-Based Application</li>
  <li>View-Based Application</li>
  </ol>
  
  <p>or</p>
  
  <ol>
  <li>Window-Based Application?</li>
  </ol>
  
  <p>First I tried Window-Based Application cos it promises </p>
  
  <blockquote>
    <p>This template provides a starting point for any application. It provides just an application delegate and a window.</p>
  </blockquote>
  
  <p>Sounds good. Just window and delegate, but when I started to write code I've faced such dilemma. In Apple's code, the first thing I have to implement for exposing nib file with table view is </p>
  
  <pre><code>- (void)applicationDidFinishLaunching:(UIApplication *)application {
  
  /*
   Create and configure the navigation and view controllers.
   */ 
  
  RootViewController *rootViewController = [[RootViewController alloc] initWithStyle:UITableViewStylePlain];
  
  // Retrieve the array of known time zone names, then sort the array and pass it to the root view controller.
  NSArray *timeZones = [NSTimeZone knownTimeZoneNames];
  rootViewController.timeZoneNames = [timeZones sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
  
  UINavigationController *aNavigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
  self.navigationController = aNavigationController;
  [aNavigationController release];
  [rootViewController release];
  
  // Configure and display the window.
  [window addSubview:[navigationController view]];
  [window makeKeyAndVisible];
  </code></pre>
  
  <p>}</p>
  
  <p>This method is clear for me. I mean it's clear for me what it does. In my app this method is implemented in quite different way.</p>
  
  <pre><code>- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  </code></pre>
  
  <p>It returns BOOL instead of returning void and doesn't get (UIApplication *)application parameter and I can't initialize RootViewController with style. </p>
  
  <p>So, what kind of project should I choose? Please help me with your advice. Thanx in advance.</p>