我有一个名为“ firstVC”的视图控制器,另一个名为“ secondVC”的视图控制器。当用户按下secondVC上的按钮时,secondVC将以模态形式显示在第一个vc上,我想关闭firstVC和secondVC 我在这里调用该方法,但是它确实执行,但是什么也不会发生 在secondVC中,这将会发生
firstVC.dismiss(animated: true, completion: nil)
如果您建议我使用代理,请告诉我如何完全使用它?我不知道应该在firstVC中放置什么,或者在第二VC中放置什么
还有一件事情
在其他情况下,我需要在firstVC中执行json,并且当json完成时,两个视图控制器(firstVC和secondVC)都将被关闭,我该怎么办呢?
答案 0 :(得分:0)
这是使用委托的解决方案:
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()
}
}