Q:

How to call a UIViewController

Is there any other way to call a UIViewCOntroller, without the following;
HelloUIViewController *hello = [[HelloUIViewController alloc]initWithNibName:nil bundle:nil];
[self.navigationController pushViewController:hello animated:YES];

The above code will set the view in a Navigation bar where you will get the BackButton as well (the arrow shaped button when you navigate from view to view).
I Just want to go to a new UiviewController, and do not want it to have a backButton (basically the viewController should not be pushed into the navigation stack)

A:

This should work:
UIWindow *window = [[UIApplication applicationDelegate] window];
window.rootViewController = [[HelloUIViewController alloc] initWithNibName:nil bundle:nil];

Of course, it might not really be what you want. It'll install the view controller as the window's root view controller. If you want to keep your navigation controller and just show the new controller outside the navigation stack, you'll want to present the view controller modally. From another view controller, you can:
HelloUIViewController *hello = [[HelloUIViewController alloc]initWithNibName:nil bundle:nil];
[self presentViewController:hello animated:YES completion:nil];

