Swift - запустить IBAction перед размоткой с контроллера вида - PullRequest
0 голосов
/ 03 февраля 2019

Итак, у меня есть кнопка «Сохранить» на контроллере вида, мы назовем VC2.При щелчке он отматывает исходный контроллер представления, и мы назовем VC1.

Однако я хочу запустить некоторую логику для данных из VC2, прежде чем передать их обратно в VC1.Я попытался сопоставить IBAction с кнопки «Сохранить», которая выходит из VC2 и запускает код размотки на VC1.Но я заметил, что он не запускает IBAction, сопоставленный с кнопкой.Я думаю, это потому, что это связано с выходом.

Итак, мой вопрос: если у меня есть кнопка, которая выходит из моего контроллера вида, могу ли я также связать ее с IBAction, чтобы я мог запустить некоторую логику на контроллере видавыход (VC2) до того, как он существует?

1 Ответ

0 голосов
/ 03 февраля 2019

Если ваша кнопка связана с переходом на раскадровке, кажется, что ее IBAction не работает.Я не знаю, документировано ли это где-либо, но похоже, что это поведение.

Вместо того, чтобы связывать кнопку с "Выходом" VC1, свяжите свой VC2 к «Выходу», затем присвойте этому сценарию идентификатор, скажем, unwindToVC1.

Теперь вы можете добавить IBAction к кнопке и написать:

@IBAction func buttonPress() {
    // process your data or whatever

    // perform the unwind segue
    performSegue(withIdentifier: "unwindToVC1", sender: yourData)
}
...