Передать значения из всплывающего окна V C в контроллер - PullRequest
0 голосов
/ 20 февраля 2020

В настоящее время в моем приложении я открываю всплывающее окно View Controller внутри обычного View Controller, и мне нужно передать значения обратно из моего Popup V C в обычное V C.

Вот так я делаю всплывающие окна.

let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "IconEditPopup") as! IconEditPopup
    // this is where you can set values in the view
    vc.id = "12"
    self.addChild(vc)
    vc.view.frame = self.view.frame
    self.view.addSubview(vc.view)
    vc.didMove(toParent: self)

По сути, я просто хочу передать значения обратно из контроллера View Popup в мой обычный V C.

1 Ответ

1 голос
/ 20 февраля 2020

Вы можете использовать шаблон Delegate или обработчик обратного вызова Clouser, чтобы передать значение обратно в родительское представление.

Вот пример:

Определите clouser в вашем popV C вот так:

var clouserName: ((returnType) -> Void)?

Внутри вашего popV C, где вам нужно вызвать clouser:

clouserName?(returnValue)

в родительском контроллере, запишите значение следующим образом:

vc.clouserName = { returnValue in // dont forget [weak self] if you need self
 // Do your stuff here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...