NSSeguePerforming
Реализуйте методы в протоколе выполнения перехода для посредничества пользовательского перехода.
Когда Вы разделяете на подклассы NSStoryboardSegue для выражения пользовательского перехода или отношения включения между сценами раскадровки Вы могли бы также хотеть обеспечить код, подготавливающий целевое/содержать представление или объект контроллера окна. Поместите этот код в переопределение prepareForSegue:sender: метод.
Для условного запрещения производительности перехода переопределите shouldPerformSegueWithIdentifier:sender: метод, возвращаясь NOfalse.
Если необходимо программно инициировать переход, который не может быть выражен в файле раскадровки, таком как переход между сценами в различных раскадровках, использовать 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 *)identifiersender:(id)senderПараметры
identifiersenderОбъект, который Вы хотите использовать для инициирования перехода. Этот параметр делает объект доступным для Вашей реализации во время перехода.
Обсуждение
Приложения обычно не должны инициировать переходы программно. В случае необходимости можно вызвать этот метод для инициирования перехода для действия, которое не может быть выражено в файле раскадровки, таком как переход между сценами в различных раскадровках.
Как правило, переход инициирован пользовательским действием, таким как нажатие кнопки. В Интерфейсном Разработчике сконфигурируйте объект, такой как управление, встроенное в иерархию представления контроллера представления, для инициирования перехода.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Вызванный, когда переход собирается быть выполненным. (требуемый)
Объявление
Swift
optional func prepareForSegue(_segue: NSStoryboardSegue, sendersender: AnyObject?)Objective C
- (void)prepareForSegue:(NSStoryboardSegue *)seguesender:(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 *)identifiersender:(id)senderПараметры
identifierСтрока, идентифицирующая переход, который будет выполняться.
Используя Интерфейсного инспектора Разработчика, обеспечьте строку уникального идентификатора для каждого перехода в раскадровке. Система обеспечивает идентификатор перехода для этого параметра, когда это вызывает этот метод. Строка идентификатора используется для определения местоположения перехода в файле раскадровки, содержащем контроллер представления.
senderОбъект, инициировавший переход. Этот объект сделан доступным для информационных целей во время перехода.
Возвращаемое значение
YEStrueпозволить переходу продолжаться илиNOfalseмешать ему продолжиться.Обсуждение
Переопределите этот метод для возврата
NOfalseдля случаев, где Вы хотите предотвратить производительность перехода. По умолчанию вызов перехода приводит к выполняемому переходу.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
