NSStoryboardSegue
Переход раскадровки указывает переход или отношение включения между двумя сценами в раскадровке, где сцена является контроллером представления или контроллером окна, и раскадровка является экземпляром NSStoryboard
класс.
Переход раскадровки имеет процедурное понятие того, чтобы быть вызванным, известный в API, как выполняемом. Можно использовать в своих интересах рычаги в процесс производительности перехода путем переопределения segueWithIdentifier:source:destination:performHandler:
метод класса и посредством NSSeguePerforming
протокол.
Вы не создаете объекты перехода раскадровки непосредственно. Вместо этого система создает их по мере необходимости, поскольку вызываются переходы. Для выполнения кода во время инициализации и производительности перехода переопределите initWithIdentifier:source:destination:
и perform
методы.
Можно инициировать переход программно с performSegueWithIdentifier:sender:
метод NSSeguePerforming
протокол. Например, Вы могли бы сделать это для перехода от сцены в одном файле раскадровки к сцене в другом.
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.10 и позже.
-
sourceController sourceController
СвойствоЗапускать/содержать контроллер представления или контроллер окна для перехода раскадровки. (только для чтения)
Объявление
Swift
var sourceController: AnyObject { get }
Objective C
@property(readonly, strong) id sourceController
Обсуждение
В Вашем подклассе перехода раскадровки можно читать, это свойство для получения запускать/содержать контроллер представления или контроллер окна для перехода.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
-
Заканчиваться/содержать контроллер представления или контроллер окна для перехода раскадровки. (только для чтения)
Объявление
Swift
var destinationController: AnyObject { get }
Objective C
@property(readonly, strong) id destinationController
Обсуждение
В Вашем подклассе перехода раскадровки можно читать, это свойство для получения заканчиваться/содержать контроллер представления или контроллер окна для перехода. Если Вы переопределяете, это свойство важно
prepareForSegue:sender:
методNSSeguePerforming
протокол, чтобы позволить Вам передать данные конфигурации заканчиваться/содержать контроллер.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
-
идентификатор идентификатор
СвойствоДополнительный, уникальный идентификатор для перехода раскадровки, что можно указать использование инспектора Идентификационных данных в Интерфейсном Разработчике. (только для чтения)
Объявление
Swift
var identifier: String? { get }
Objective C
@property(readonly, copy) NSString *identifier
Обсуждение
Если Вы переопределяете, Вы используете это свойство
prepareForSegue:sender:
методNSSeguePerforming
протокол.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
-
init (identifier:source:destination:performHandler:) + segueWithIdentifier:source:destination:performHandler:
Когда переход выполняется, создает переход раскадровки и блок, используемый.
Объявление
Swift
convenience init(identifier
identifier
: String, sourcesourceController
: AnyObject, destinationdestinationController
: AnyObject, performHandlerperformHandler
: () -> Void)Objective C
+ (instancetype)segueWithIdentifier:(NSString *)
identifier
source:(id)sourceController
destination:(id)destinationController
performHandler:(void (^)(void))performHandler
Параметры
identifier
Уникальный идентификатор для перехода раскадровки. Посмотрите
identifier
свойство.sourceController
Запускать/содержать контроллер представления или контроллер окна для перехода раскадровки.
destinationController
Заканчиваться/содержать контроллер представления или контроллер окна для перехода раскадровки.
performHandler
Блок кода, который Вы обеспечиваете, чтобы быть выполненными каждый раз системные вызовы
perform
метод.Возвращаемое значение
Инициализированный переход раскадровки и блок кода, готовый выполняться.
Обсуждение
Можно использовать этот метод для настройки перехода раскадровки вместо создания подкласса.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
-
init (identifier:source:destination:) - initWithIdentifier:source:destination:
Определяемый инициализаторОпределяемый инициализатор для перехода раскадровки.
Объявление
Swift
init(identifier
identifier
: String, sourcesourceController
: AnyObject, destinationdestinationController
: AnyObject)Objective C
- (instancetype)initWithIdentifier:(NSString *)
identifier
source:(id)sourceController
destination:(id)destinationController
Параметры
identifier
Уникальный идентификатор для перехода раскадровки. Посмотрите
identifier
свойство.sourceController
Запускать/содержать контроллер представления или контроллер окна для перехода раскадровки.
destinationController
Заканчиваться/содержать контроллер представления или контроллер окна для перехода раскадровки.
Возвращаемое значение
Инициализированный переход раскадровки, готовый выполняться.
Обсуждение
Когда переход начинается, системные вызовы этот метод. Для выполнения кода во время инициализации перехода реализуйте переход раскадровки, разделяют на подклассы и переопределяют этот метод.
Каждый раз, когда этот метод вызывают, система тогда вызывает
perform
метод.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
-
Выполняет визуальный переход от одного контроллера до другого.
Объявление
Swift
func perform()
Objective C
- (void)perform
Обсуждение
Можно переопределить этот метод в Вашем
NSStoryboardSegue
подкласс для выполнения пользовательской анимации между запускать/содержать контроллер, и заканчиваться/содержать контроллер для перехода раскадровки. Как правило, Вы использовали бы Базовую Анимацию для установки анимации от одного набора представлений к следующему. Для более сложных анимаций Вы могли бы взять изображение снимка двух иерархий представления и управлять изображениями вместо объектов представления.Независимо от того, как Вы выполняете анимацию, Вы ответственны за установку целевого контроллера представления o контроллер окна (и его содержавшие представления) в правильном месте так, чтобы это могло обработать события. Как правило, это влечет за собой призыв одного из методов представления
NSViewController
класс.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.