CPViewController Class Reference

List of all members.

Public Member Functions

(CPString _cibName) - accessors [implementation]
(id _representedObject) - accessors [implementation]
(void) - encodeWithCoder: [implementation]
(id) - init [implementation]
(id) - initWithCibName:bundle: [implementation]
(id) - initWithCibName:bundle:externalNameTable: [implementation]
(id) - initWithCibName:bundle:owner: [implementation]
(id) - initWithCoder: [implementation]
(void) - loadView [implementation]
(void) - setView: [implementation]
(CPView- view [implementation]
(void) - viewDidLoad [implementation]

Static Public Member Functions

(void) + initialize [implementation]

Detailed Description

The CPViewController class provides the fundamental view-management controller for Cappuccino applications. The basic view controller class supports the presentation of an associated view in addition to basic support for managing modal views and, in the future, animations. Subclasses such as CPNavigationController and CPTabBarController provide additional behavior for managing complex hierarchies of view controllers and views.

You use each instance of CPViewController to manage a single view (and hierarchy). For a simple view controller, this entails managing the view hierarchy responsible for presenting your application content. A typical view hierarchy consists of a root viewŃa reference to which is available in the view property of this classŃ and one or more subviews presenting the actual content. In the case of navigation and tab bar controllers, the view controller manages not only the high-level view hierarchy (which provides the navigation controls) but also one or more additional view controllers that handle the presentation of the application content.

Unlike UIViewController in Cocoa Touch, a CPViewController does not represent an entire screen of content. You will add your root view to an existing view or window's content view. You can manage many view controllers on screen at once. CPViewController is also the preferred way of working with Cibs.

Subclasses can override -loadView to create their custom view hierarchy, or specify a cib name to be loaded automatically. It has methods that are called when a view appears or disappears. This class is also a good place for delegate & datasource methods, and other controller stuff.

Definition at line 48 of file CPViewController.j.


Member Function Documentation

- (CPDictionary _cibExternalNameTable) accessors (property = cibName
(readonly)   
[implementation]
- (CPString _title) accessors (property = representedObject   [implementation]
- (void) encodeWithCoder: (CPCoder aCoder   [implementation]

Archives the view controller to the provided coder.

Parameters:
aCoder the coder to which the view controller should be archived

Definition at line 233 of file CPViewController.j.

- (id) init   [implementation]

Convenience initializer calls -initWithCibName:bundle: with nil for both parameters.

Definition at line 69 of file CPViewController.j.

+ (void) initialize   [implementation]

Definition at line 60 of file CPViewController.j.

- (id) initWithCibName: (CPString aCibNameOrNil
bundle: (CPBundle aCibBundleOrNil 
[implementation]

Definition at line 74 of file CPViewController.j.

- (id) initWithCibName: (CPString aCibNameOrNil
bundle: (CPBundle aCibBundleOrNil
externalNameTable: (CPDictionary anExternalNameTable 
[implementation]

The designated initializer. If you subclass CPViewController, you must call the super implementation of this method, even if you aren't using a Cib. In the specified Cib, the File's Owner proxy should have its class set to your view controller subclass, with the view outlet connected to the main view. If you pass in a nil Cib name, then you must either call -setView: before -view is invoked, or override -loadView to set up your views.

Parameters:
cibNameOrNil The path to the cib to load for the root view or nil to programmatically create views.
cibBundleOrNil The bundle that the cib is located in or nil for the main bundle.

Definition at line 92 of file CPViewController.j.

- (id) initWithCibName: (CPString aCibNameOrNil
bundle: (CPBundle aCibBundleOrNil
owner: (id)  anOwner 
[implementation]

Definition at line 79 of file CPViewController.j.

- (id) initWithCoder: (CPCoder aCoder   [implementation]

Initializes the view controller by unarchiving data from a coder.

Parameters:
aCoder the coder from which the data will be unarchived
Returns:
the initialized view controller

Definition at line 210 of file CPViewController.j.

- (void) loadView   [implementation]

Programmatically creates the view that the controller manages. You should never call this method directly. The view controller calls this method when the view property is requested but is nil.

If you create your views manually, you must override this method and use it to create your view and assign it to the view property. The default implementation for programmatic views is to create a plain view. You can invoke super to utilize this view.

If you use Interface Builder to create your views and initialize the view controllerŃthat is, you initialize the view using the initWithCibName:bundle: methodŃthen you must not override this method. The consequences risk shattering the space-time continuum.

Note: The cib loading system is currently asynchronous.

Definition at line 119 of file CPViewController.j.

- (void) setView: (CPView aView   [implementation]

Manually sets the view that the controller manages. Setting to nil will cause -loadView to be called on all subsequent calls of -view.

Parameters:
aView The view this controller should represent.

Definition at line 190 of file CPViewController.j.

- (CPView) view   [implementation]

Returns the view that the controller manages. If this property is nil, the controller sends loadView to itself to create the view that it manages. Subclasses should override the loadView method to create any custom views. The default value is nil.

Definition at line 142 of file CPViewController.j.

- (void) viewDidLoad   [implementation]

This method is called after the view controller has loaded its associated views into memory. This method is called regardless of whether the views were stored in a nib file or created programmatically in the loadView method. This method is most commonly used to perform additional initialization steps on views that are loaded from nib files.

Definition at line 178 of file CPViewController.j.


The documentation for this class was generated from the following file:

Generated on Fri Apr 9 11:04:23 2010 for Cappuccino API by  doxygen 1.6.1