как я могу отклонить первый VC, который второй представил модально на первом - PullRequest
0 голосов
/ 09 сентября 2018

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

firstVC.dismiss(animated: true, completion: nil)

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

еще одна вещь

В некоторых других случаях мне нужно выполнить json в первом VC, и когда json завершит работу обоих контроллеров представления (firstVC и secondVC), как я могу это сделать?

1 Ответ

0 голосов
/ 09 сентября 2018

Вот решение с использованием делегата:

protocol DismissDelegate{
    func dismissVC()
}

class FirstViewController: UIViewController, DismissDelegate{

    func showSecondVC(){
        let secondVC = SecondViewController()
        secondVC.delegate = self
    }

    func dismissVC(){
        self.dismiss(animated: true, completion: nil)
    }
}


class SecondViewController: UIViewController{
    var delegate: DismissDelegate?

    @IBAction func buttonAction(sender: UIButton){
        self.dismiss(animated: true, completion: nil)
        delegate?.dismissVC()
    }
}
...