An encapsulation of the design-time view controller and window controller graph represented in an Interface Builder storyboard resource file.


@interface NSStoryboard : NSObject


You can use storyboard files to define the view and window controllers for all or part of an app’s user interface. Typically, these controllers instantiate automatically in response to actions defined within a storyboard file itself, such as the clicking of a button or the choosing of a menu item. However, you can use a storyboard object to directly instantiate the initial view controller from a storyboard file or to instantiate other view or window controllers that you want to present programmatically. In the context of a storyboard file, each contained controller is called a scene.

A transition from one scene to another in a storyboard is called a segue. This same term, and the same Cocoa APIs, are used to express a containment relationship between two scenes. Indeed, in macOS, containment (rather than transition) is the more common notion for storyboards. For descriptions of the related APIs, refer to NSStoryboardSegue and NSSeguePerforming.


Creating a Storyboard from a Storyboard File

+ storyboardWithName:bundle:

Instantiates a storyboard based on the named storyboard file in the specified bundle.

Instantiating a Controller from a Storyboard

- instantiateInitialController

Instantiates the initial view controller or window controller from a storyboard.

- instantiateControllerWithIdentifier:

Instantiates a specified view controller or window controller from a storyboard.


Inherits From

See Also



A transition or containment relationship between two scenes in a storyboard.


A set of methods that support the mediation of a custom segue.