O'Reilly logo

iOS 6 Programming Cookbook by Vandad Nahavandipoor

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

2.10. Presenting and Managing Views with UIViewController

Problem

You want to switch between different views in your application.

Solution

Use the UIViewController class.

Discussion

Apple’s strategy for iOS development was to use the Model-View-Controller (MVC) division of labor. Views are what get displayed to users, while the model is the data that the app manages, or the engine of the app. The controller is the bridge between the model and the view. The controller, or in this case, view controller, manages the relationship between the view and the model. Why doesn’t the view do that instead? Well, the answer is quite simple: the view’s code would get messy and that design choice would tightly couple our views with the model, which is not a good practice.

Note

Before running this recipe, you need to have an Xcode project already created. Follow the instructions in Recipe 1.1, but instead of a Pages-Based Application, create an Empty Application.

View controllers can be loaded from .xib files (for use with Interface Builder), or simply be created programmatically. We will first have a look at creating a view controller without a .xib file.

Xcode helps us create view controllers. Now that you have created an application using the Empty Application template in Xcode, follow these steps to create a new view controller for your app:

  1. In Xcode, select the File menu and then choose New New File...

  2. In the New File dialog, make sure iOS is the selected category on the left and that Cocoa Touch is ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required