Как я могу отклонить первый VC, что второй представил модально на первом VC
У меня есть контроллер представления с именем "firstVC" и еще один с именем "secondVC" . второй виртуальный виртуальный канал будет представлен модально на первом виртуальном виртуальном канале. Я хочу отклонить первый виртуальный виртуальный канал и второй виртуальный виртуальный канал, когда пользователь нажимает кнопку на втором виртуальном виртуальном канале. Я вызываю здесь метод, но он выполняется, но во втором виртуальном виртуальном канале ничего не произойдет.
firstVC.dismiss(animated: true, completion: nil)
если вы предлагаете мне использовать делегат, скажите, пожалуйста, как я могу использовать это полностью? Я не знаю, что я должен положить в первый ВК или что я должен положить во второй ВК
еще кое-что
В некоторых других случаях мне нужно выполнить json в первом VC, и когда json завершит работу обоих контроллеров представления (firstVC и secondVC), как я могу это сделать?
1 ответ
Вот решение с использованием делегата:
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()
}
}