Class

NSStoryboard

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

Overview

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.

Topics

Creating a Storyboard from a Storyboard File

init(name: NSStoryboard.Name, bundle: Bundle?)

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

Instantiating a Controller from a Storyboard

func instantiateInitialController()

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

func instantiateController(withIdentifier: NSStoryboard.SceneIdentifier)

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

Relationships

Inherits From

Conforms To

See Also

Storyboard

class NSStoryboardSegue

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

protocol NSSeguePerforming

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

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software