为什么在呈现视图控制器时UINavigation控制器为零

问题描述 投票:0回答:1

虽然推送到下一个视图控制器时,导航控制器会维护一个堆栈,但是在上一个视图控制器中,我会通过AlertController的循环返回到任何特定的视图控制器,否则它将崩溃

这里是最后一个控制器的后退按钮代码

 let alert = UIAlertController(title: AppName, message: "Are you sure want to clear answers and go back?", preferredStyle: .alert)
    alert.addAction(UIAlertAction(title: "Yes", style: .default, handler: { _ in
        let viewControllers: [UIViewController] = self.navigationController!.viewControllers
        for aViewController in viewControllers {
            if(aViewController is AddDetailViewController){
                self.navigationController!.popToViewController(aViewController, animated: true);
            }
        }
    }))
    alert.addAction(UIAlertAction(title: "No", style: .default, handler: nil))
    self.present(alert, animated: true, completion: nil)

但它在弹出动作中崩溃

ios swift uinavigationcontroller popviewcontroller
1个回答
0
投票

似乎您的Last控制器不是导航堆栈的一部分。

它以模态呈现吗?

请分享您如何显示上一个控制器的代码。

© www.soinside.com 2019 - 2024. All rights reserved.