Swift iOS-如何正确使用popToViewController
又是我——学习斯威夫特。 问题很简单,我有如下控制视图: [初始]->[未记录]->[注册] 现在注册后我有两次解雇,真的很难看! 我不想直接从注册页转到首页。 我尝试了这个代码,但遗憾的是它没有任何错误地关闭应用程序Swift iOS-如何正确使用popToViewController,ios,swift,navigation,Ios,Swift,Navigation,又是我——学习斯威夫特。 问题很简单,我有如下控制视图: [初始]->[未记录]->[注册] 现在注册后我有两次解雇,真的很难看! 我不想直接从注册页转到首页。 我尝试了这个代码,但遗憾的是它没有任何错误地关闭应用程序 self.dismiss(animated: true, completion: { let controllers = self.navigationController?.viewControllers for
self.dismiss(animated: true, completion: {
let controllers = self.navigationController?.viewControllers
for vc in controllers! {
if vc is InitialViewController {
_ = self.navigationController?.popToViewController(vc as! InitialViewController, animated: true)
}
}
} )
pushViewController工作原理同上,有输出:
2020-01-29 20:30:38.342180+0100 BillyBill[44355:19540995]无法结束
BackgroundTask:不存在标识符为10(0xa)的后台任务,或
它可能已经结束了。闯进
要调试的UIApplicationEndBackgroundTaskError()
您只需使用
self.navigationController?.popToRootViewController()
命令来代替
for vc in controllers! {
if vc is InitialViewController {
_ = self.navigationController?.popToViewController(vc as! InitialViewController, animated: true)
}
}
只需弹出到根视图控制器
self.navigationController?.popToRootViewController(animated: true)
遗憾的是,当我登录或创建帐户时,我仍然没有任何解决方案如何返回 我尝试了这种方式,但与上面相同,应用程序关闭:
for controller in self.navigationController!.viewControllers as Array {
if controller.isKind(of: InitialViewController.self) {
self.navigationController!.popToViewController(controller, animated: true)
break
}
}
您是否尝试在
let controllers=代码>,然后单步执行代码以查看发生了什么情况?1。我建议您在调用popToViewController
后返回(如果堆栈中有该视图控制器类的多个实例)。2.你不需要像这样的!InitialViewController
将调用转换为popToViewController
。3.返回视图控制器的更好方法是使用“展开”序列(您可以在线搜索并查找大量引用).PopToViewControlles始终处于中断状态appCant make unwind seque:/try ctrl+drag to button,我只能选择view and nothing Happens nothing Happens。App get closed:无法结束background任务:不存在标识符为9(0x9)的后台任务,或者它可能已经结束。中断UIApplicationEndBackgroundTaskError()以进行调试。您是否可以让我知道您正在使用导航控制器或要推到下一个屏幕。