NSSeguePerforming
Реализуйте методы в протоколе выполнения перехода для посредничества пользовательского перехода.
Когда Вы разделяете на подклассы NSStoryboardSegue
для выражения пользовательского перехода или отношения включения между сценами раскадровки Вы могли бы также хотеть обеспечить код, подготавливающий целевое/содержать представление или объект контроллера окна. Поместите этот код в переопределение prepareForSegue:sender:
метод.
Для условного запрещения производительности перехода переопределите shouldPerformSegueWithIdentifier:sender:
метод, возвращаясь NO
false
.
Если необходимо программно инициировать переход, который не может быть выражен в файле раскадровки, таком как переход между сценами в различных раскадровках, использовать performSegueWithIdentifier:sender:
метод в этом протоколе.
Наследование
Не применимый
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.10 и позже.
-
Выполняет указанный переход. (требуемый)
Объявление
Swift
optional func performSegueWithIdentifier(_
identifier
: String, sendersender
: AnyObject?)Objective C
- (void)performSegueWithIdentifier:(NSString *)
identifier
sender:(id)sender
Параметры
identifier
sender
Объект, который Вы хотите использовать для инициирования перехода. Этот параметр делает объект доступным для Вашей реализации во время перехода.
Обсуждение
Приложения обычно не должны инициировать переходы программно. В случае необходимости можно вызвать этот метод для инициирования перехода для действия, которое не может быть выражено в файле раскадровки, таком как переход между сценами в различных раскадровках.
Как правило, переход инициирован пользовательским действием, таким как нажатие кнопки. В Интерфейсном Разработчике сконфигурируйте объект, такой как управление, встроенное в иерархию представления контроллера представления, для инициирования перехода.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
-
Вызванный, когда переход собирается быть выполненным. (требуемый)
Объявление
Swift
optional func prepareForSegue(_
segue
: NSStoryboardSegue, sendersender
: AnyObject?)Objective C
- (void)prepareForSegue:(NSStoryboardSegue *)
segue
sender:(id)sender
Параметры
segue
Объект перехода, содержащий информацию о контроллерах представления, вовлеченных в переход.
sender
Объект, инициировавший переход. Вы могли бы использовать этот параметр для выполнения различных действий, на основе которых управление (или другой объект) инициировало переход.
Обсуждение
Реализация по умолчанию этого метода ничего не делает; можно переопределить его для передачи соответствующих данных новому контроллеру представления или контроллеру окна, на основе контекста перехода.
segue
объект описывает переход и включает ссылки на оба контроллера, вовлеченные в переход.Переходы могут быть инициированы из многократных источников, так используйте информацию в
segue
иsender
параметры для устранения неоднозначности между различными логическими путями в приложении. Например, если переход произошел из табличного представления,sender
параметр идентифицировал бы ячейку, по которой щелкнул пользователь. Вы могли использовать ту информацию для установки данных по целевому контроллеру представления.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
-
shouldPerformSegueWithIdentifier (_: отправитель:) - shouldPerformSegueWithIdentifier:sender:
ТребуемыйВызванный сразу до производительности перехода раскадровки. (требуемый)
Объявление
Swift
optional func shouldPerformSegueWithIdentifier(_
identifier
: String, sendersender
: AnyObject?) -> BoolObjective C
- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)
identifier
sender:(id)sender
Параметры
identifier
Строка, идентифицирующая переход, который будет выполняться.
Используя Интерфейсного инспектора Разработчика, обеспечьте строку уникального идентификатора для каждого перехода в раскадровке. Система обеспечивает идентификатор перехода для этого параметра, когда это вызывает этот метод. Строка идентификатора используется для определения местоположения перехода в файле раскадровки, содержащем контроллер представления.
sender
Объект, инициировавший переход. Этот объект сделан доступным для информационных целей во время перехода.
Возвращаемое значение
YES
true
позволить переходу продолжаться илиNO
false
мешать ему продолжиться.Обсуждение
Переопределите этот метод для возврата
NO
false
для случаев, где Вы хотите предотвратить производительность перехода. По умолчанию вызов перехода приводит к выполняемому переходу.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.