Ios 导航后无法删除子viewcontroller

Ios 导航后无法删除子viewcontroller,ios,swift,uipopovercontroller,Ios,Swift,Uipopovercontroller,我在VC1中添加了一个子viewcontroller。在点击子viewcontroller中的按钮时,我正在按下另一个viewcontroller VC2。点击VC2中的“后退”按钮时,我需要删除儿童viewcontroller,但我无法执行此操作。您能帮助我吗 override func viewDidDisappear(_ animated: Bool) { let controller = storyboard!.instantiateViewController(wit

我在VC1中添加了一个子viewcontroller。在点击子viewcontroller中的按钮时,我正在按下另一个viewcontroller VC2。点击VC2中的“后退”按钮时,我需要删除儿童viewcontroller,但我无法执行此操作。您能帮助我吗

override func viewDidDisappear(_ animated: Bool) {

        let controller = storyboard!.instantiateViewController(withIdentifier: "PopupViewController") as! PopupViewController
        controller.willMove(toParentViewController: nil)
        controller.view.removeFromSuperview()
        controller.removeFromParentViewController()
 }

我在VC1中添加了以下内容,它解决了我的问题

override func viewWillDisappear(_ animated: Bool) {

    for controllers in self.childViewControllers
    {
        controllers.willMove(toParentViewController: nil)
        controllers.view.removeFromSuperview()
        controllers.removeFromParentViewController()
    }

}

我在VC1中添加了以下内容,它解决了我的问题

override func viewWillDisappear(_ animated: Bool) {

    for controllers in self.childViewControllers
    {
        controllers.willMove(toParentViewController: nil)
        controllers.view.removeFromSuperview()
        controllers.removeFromParentViewController()
    }

}

你的后退按钮动作在哪里?你能展示一下吗?你缺少了:super.viewdiddemouse(动画),这是导航栏的默认返回button@SuganyaMarlin根据代码,您正在实例化一个新的视图控制器,而不是删除内存中已经存在的控制器。让控制器=情节提要!。实例化eviewController(标识符为:“PopupViewController”)为!PopupViewController这行代码创建了一个新实例(一个新分配的对象)是正确的…我已经修复并发布了solution@soumilwhere你的后退按钮动作了吗?你能展示一下吗?你缺少了:super.viewdiddemouse(动画),这是导航栏的默认返回button@SuganyaMarlin根据代码,您正在实例化一个新的视图控制器,而不是删除内存中已经存在的控制器。让控制器=情节提要!。实例化eviewController(标识符为:“PopupViewController”)为!PopupViewController这行代码创建了一个新实例(一个新分配的对象)是正确的…我已经修复并发布了solution@soumil