2013-10-04 3 views
1

Что было бы главным различием между использованием instantiateViewControllerWithIdentifier и performSegueWithIdentifier?Использование раскадровки ViewControllers

Я думаю, что performSegue .. используется для нормального толчка viewControllers как instantiateViewController используется для своего рода модального отображения viewController, а затем отклоняет его при его использовании.

Поскольку есть также модальный и пользовательский толчок в раскадровке, я не уверен в своей теории, так что если кто-нибудь сможет объяснить, когда использовать какой?

Спасибо.

ответ

0

Разница заключается в том, что performSegueWithIdentifier используется для перехода к конкретному контроллеру вида, который соединен с помощью Segue в Interface Builder (Transition1 в моем скриншоте).

instantiateViewControllerWithIdentifier может быть использован для создания экземпляра любой контроллер представления на раскадровке, независимо от того, что он подключен с помощью Segue или нет (Transition2 в скриншоте).

Push, modal или любой другой пользовательский переход может использоваться для любого сценария.

instantiateViewControllerWithIdentifier также может использоваться для создания экземпляров контроллеров представлений из отдельных файлов раскадровки. Сег должен находиться в одном и том же файле раскадровки.

enter image description here

Идентификатор Segue используется в performSegueWithIdentifier должен быть установлен в интерфейсе строитель.

enter image description here

Идентификатор контроллера вид, используемый в instantiateViewControllerWithIdentifier это поле Раскадровки ID в интерфейсе строитель.

enter image description here

+0

Я получаю эту идею, но вы можете подключить любой контроллер к любому другому с Segue или не подключать ничего и использовать метод создания экземпляра. Существуют ли какие-либо правила использования? –

+0

Вы можете создавать экземпляры контроллеров представлений из отдельных файлов раскадровки с помощью 'instantiateViewControllerWithIdentifier'. Сег должен находиться в одном и том же файле раскадровки. –

Смежные вопросы