title: IOS - Load unknown type of UIViewController
body: <p>I'm trying to load UIViewController, but not knowing the type until runtime.</p>
  
  <p>So I have some different UIViewControllers, each one with it's own .xib, and with the
  following code, the .xib is showed correctly, but the UIViewController is never created, because
  it's a child of UIViewController, not an exactly UIViewController:</p>
  
  <pre><code>UIViewController *vc = [[UIViewController alloc] initWithNibName:[[self component] xibName] bundle:nil];
  [self.navigationController pushViewController:vc animated:YES];
  </code></pre>
  
  <p>It works fine for example in this particular case, but obviously not for the rest:</p>
  
  <pre><code>Controller1 *vc = [[Controller1 alloc] initWithNibName:[[self component] xibName] bundle:nil];
  [self.navigationController pushViewController:vc animated:YES];
  </code></pre>
  
  <p>How can I solve it? 
  Thanks!</p>