2016-07-09 5 views
1

Я хочу знать, как вы передаете данные, такие как значения, из второго контроллера представления в первый контроллер представления. Я сделал простой переход от первого ко второму. Я просто не знаю, как это сделать в обратном направлении.Передача данных со второго представления в первый контроллер представления

У меня есть вид на мой первый контроллер и вид на второй. Я хочу передать изменения со второго представления в представление на первом контроллере, когда я нажимаю на пользовательскую кнопку возврата, которую я сделал. Как мне это сделать?

Я знаю, что это имеет какое-то отношение к размотке segue, но все, что я смотрю, очень неясно и запутанно.

+0

См. «Передача данных назад» в http://stackoverflow.com/a/9736559/1271826. Или см. Разматывать ссылки в других ответах там. – Rob

ответ

0

Чтобы сделать это назад, вы можете сделать это с помощью delegate или blocks, как то, что @Rob связано в комментариях.

Вы также можете сделать паузу, как то, что вы упомянули. Подобно простому сеансу, разматывание segue может помочь вам передать данные с второго контроллера вида на контроллер первого вида в prepareForSegue.

Пример: у вас есть ViewControllerA, который перейдет на ViewControllerB. На этот раз вы хотите настроить разматывание для ViewControllerB на ViewControllerA. Перед настройкой на раскадровку вам нужно будет установить @IBAction в ViewControllerAUIViewController Вы хотите расслабиться, а не ViewControllerB. Что-то вроде этого:

@IBAction func cancelToViewControllerA(segue:UIStoryboardSegue) { 
} 

В раскадровке, при контроле ViewControllerB перетащить button, который будет вызывать раскрутку SEGUE к exit и выберите cancelToViewControllerA. Затем дайте ему имя для разматывания. В ViewControllerB переопределить prepareForSegue как то, что вы сделали для передачи данных вперед, чтобы установить данные для разматывания.

+0

в вашем последнем предложении вы говорите: «В ViewControllerB переопределите prepareForSegue, как то, что вы сделали для передачи данных вперед, чтобы установить данные для разматывания.» может объяснить эту часть немного дальше? как вы переопределите процедуру prepareForSegue, чтобы передавать данные так же, как и то, как оно было передано вперед? – lopezdp

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

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