iOS Q & A


What is a segue in iOS development?

In iOS development, a segue is a visual representation of a transition between two view controllers in Interface Builder. Segues define the flow of navigation between different scenes in a storyboard-based iOS app, allowing developers to specify the relationships and transitions between view controllers.


Key features of segues in iOS development include:


  • Visual Representation: Segues are represented as connections between scenes in Interface Builder, typically depicted as arrows linking one view controller to another. Segue connections visually indicate the flow of navigation between view controllers within a storyboard.
  • Identifier and Attributes: Each segue is associated with an identifier and optional attributes that specify its behavior and presentation style. Segue identifiers are used to distinguish between different types of segues and to perform segue-related tasks programmatically.
  • Triggering Segues: Segues can be triggered in response to user interactions, such as button taps, table view cell selections, or gesture recognizers. Developers define the conditions under which a segue should be triggered and specify the triggering action in Interface Builder.
  • Segue Types: iOS provides several predefined segue types, including show, show detail, present modally, popover presentation, and custom segues. Each segue type defines a specific presentation style and transition behavior between view controllers.
  • Prepare for Segue: Before a segue is performed, the source view controller has the opportunity to prepare the destination view controller and pass data to it using the prepare(for:sender:) method. This method allows developers to initialize the destination view controller with the necessary data or configure its properties before it is presented.
  • Unwind Segues: Unwind segues allow developers to navigate back to a previous view controller in the navigation stack, typically triggered by actions in the destination view controller. Unwind segues are useful for implementing navigation flows where the user wants to return to a previous view controller in the navigation hierarchy.
  • Storyboard Segue Editor: Interface Builder provides a Segue Editor, allowing developers to create, configure, and manage segues visually. The Segue Editor allows developers to specify segue types, identifiers, and attributes, as well as define segue relationships between view controllers.
  • Programmatic Segues: Segues can also be triggered programmatically using the performSegue(withIdentifier:sender:) method of the source view controller. This method allows developers to trigger segues in response to programmatic events or conditions, such as network responses or user authentication.


Segues provide a convenient and visually intuitive way to define navigation flows and transitions between view controllers in iOS apps. By leveraging segues in conjunction with Interface Builder and programmatic navigation, developers can create seamless and interactive user experiences that guide users through the app’s interface with ease.

Previously at
Flag Argentina
time icon
Skilled iOS Engineer with extensive experience developing cutting-edge mobile solutions. Over 7 years in iOS development.