Как перенести данные из одного ViewController в другой через закрытие - PullRequest
0 голосов
/ 25 июня 2019

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

, например, код в ViewController2

 var string: ((String) -> Void)?
@IBAction func action(_ sender: Any) {
    strii?("Lol")
    dismiss(animated: true)
}

1 Ответ

4 голосов
/ 25 июня 2019

Прежде всего, дайте закрытию лучшее имя

var callback : ((String) -> Void)?

В IBAction назовите его

@IBAction func action(_ sender: Any) {
    callback?("Lol")
    dismiss(animated: true)
}

В первом контроллере, например, в prepare(for segue назначьте закрытие

let destinationController = segue.destination as! MyGreatController
destinationController.callback = { string in
   print(string)
}
...