---
title: NSSeguePerforming
framework: appkit
role: symbol
role_heading: Protocol
path: appkit/nssegueperforming
---

# NSSeguePerforming

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

## Declaration

```swift
protocol NSSeguePerforming : NSObjectProtocol
```

## Overview

Overview When you subclass NSStoryboardSegue to express a custom transition or containment relationship between storyboard scenes, you might also want to provide code that prepares the destination/contained view or window controller object. Put this code in an override of the prepare(for:sender:) method. To conditionally disallow the performance of a segue, override the shouldPerformSegue(withIdentifier:sender:) method, returning false.If you need to programmatically trigger a segue that cannot be expressed in a storyboard file, such as a transition between scenes in different storyboards, use the performSegue(withIdentifier:sender:) method in this protocol.

## Topics

### Working with Storyboard Segues

- [performSegue(withIdentifier:sender:)](appkit/nssegueperforming/performsegue(withidentifier:sender:).md)
- [prepare(for:sender:)](appkit/nssegueperforming/prepare(for:sender:).md)
- [shouldPerformSegue(withIdentifier:sender:)](appkit/nssegueperforming/shouldperformsegue(withidentifier:sender:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Conforming Types

- [NSCollectionViewItem](appkit/nscollectionviewitem.md)
- [NSPageController](appkit/nspagecontroller.md)
- [NSSplitViewController](appkit/nssplitviewcontroller.md)
- [NSSplitViewItemAccessoryViewController](appkit/nssplitviewitemaccessoryviewcontroller.md)
- [NSTabViewController](appkit/nstabviewcontroller.md)
- [NSTitlebarAccessoryViewController](appkit/nstitlebaraccessoryviewcontroller.md)
- [NSViewController](appkit/nsviewcontroller.md)
- [NSWindowController](appkit/nswindowcontroller.md)

## See Also

### Storyboard

- [NSStoryboard](appkit/nsstoryboard.md)
- [NSStoryboardSegue](appkit/nsstoryboardsegue.md)
