ios - Swift iOS - 如何正确使用 popToViewController
问题描述
又是我 - 快速学习。问题很简单,我有这样的控制视图:[Initial]->[NotLogged]->[SignUp] 现在注册后我有双重解雇,真的很难看!我不想直接从注册页面进入初始页面。我尝试了这段代码,但遗憾的是它关闭了应用程序而没有任何错误。
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)
}
}
推荐阅读
- laravel - 上传图片在本地主机上完美运行,在实时站点上不起作用(谷歌应用引擎和 laravel)
- python - 具有动态估计测量方差的卡尔曼滤波器
- java - 使用 PrintWriter 和 File 获取文件未找到异常
- reactjs - 如何将 React 应用程序集成到现有的 asp.net 核心应用程序中?
- c++ - 是否有一种代码密集度较低的方法来使用非默认构造函数初始化数组?
- firemonkey - 有没有办法使用 Delphi 10.3 FMX TCalendar(或类似组件)选择/突出显示日期范围/系列?
- node.js - 使用 Node、SocketIO 和 Redis 将用户添加到连接到不同服务器的房间
- python - Errors: Module 'pygame' has no 'init' member, and others
- vue.js - Vue.js 自动完成
- python - 地面实况拟合比对噪声数据的交叉验证拟合更差?