2016-03-03 3 views
0

Я знаю, что я могу programmtically сделать непосредственно перейти действие с помощью:связанные с Segue функции

-performSegueWithIdentifier:sender: 

Я также знаю другой метод SEGUE, связанный на UIViewController, -prepareForSegue:sender:, в котором я могу сделать настройки на контроллере представления назначения.

Но мне интересно, какой из них называется первым?

говорят в сценарии есть ViewControllerOne, что есть кнопка, которая запускает -performSegueWithIdentifier:sender:, а затем переходит к ViewControllerTwo.

+1

Так попробовать это? Кроме того, причина говорит нам, что никто не может подготовиться к тому, чего еще не произошло. – SmokeDispenser

+0

Если вы перетащите кнопку segue из кнопки ViewControllerOne на представление ViewControllerTwo, вам не нужно вызывать функцию performSegueWithIdentifier, но будет вызвана подготовкаForSegue из ViewControllerOne. Вы также можете назначить IBAction для своей кнопки, делать все, что хотите, и вызывать функцию executeSegueWithIdentifier, чтобы запрограммировать segue программно, и он вызывает вызовы prepareForSegue перед тем, как ViewControllerTwo появляется (забыли его до или после viewWillAppear и viewDidAppear, вам лучше проверить). –

+0

Я не уверен, что вы испугались ... вы нажмете кнопку, у которой есть segue, но у нее также есть IBAction, где вы хотите изменить свою «цель» с помощью ручного выполнения. –

ответ

0

Первый - performSegueWithIdentifier:sender:, и на самом деле это тот, который вы выполнили.

Второй вызов вы упомянули prepareForSegue:sender: является делегатом вызов, который вы не вынуждены осуществлять

+0

Я это знаю. На практике я задаюсь вопросом, на что сначала следует предусловие, что я использую эти две функции. –

0

Got это сам:

Before performSegueWithIdentifier 
Before prepareForSegue 
After prepareForSegue. 
After performSegueWithIdentifier 
Смежные вопросы