首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift popToViewController不工作

Swift popToViewController不工作
EN

Stack Overflow用户
提问于 2016-08-19 00:13:34
回答 1查看 360关注 0票数 0

我是Swift和iOS开发的新手,但我认为我知道如何使用它。我在尝试使用popToViewController时遇到问题。问题是我想在按下按钮时“清除”UINavigation堆栈。所以我这样做了:

代码语言:javascript
复制
navigationController?.popToViewController((navigationController?.viewControllers[0])!, animated: false)

我希望堆栈中只有第一个ViewController。在我单击按钮堆栈之前,它包含

代码语言:javascript
复制
([<EmpMan.ViewController: 0x7fd191535ba0>,
 <EmpMan.TableViewController: 0x7fd191564be0>,
 <EmpMan.NewEmployee: 0x7fd1916c0320>])

当我单击该按钮时,堆栈显示为:

代码语言:javascript
复制
([<EmpMan.ViewController: 0x7fd191535ba0>,
 <EmpMan.TableViewController: 0x7fd191564be0>,
 <EmpMan.NewEmployee: 0x7fd1916c0320>,
 <EmpMan.TableViewController: 0x7fd19171dbf0>])

我认为在popToViewController之后,堆栈应该只包含ViewController。为什么它不起作用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-19 00:49:24

如果按钮所做的是一个片段,那么只需执行"Show detail segue,你就完成了。

否则,使用按下按钮时设置为true的按钮在viewController中创建一个布尔值。在控制器之外的每个可能的分段路由中创建一个辅助分段。然后,如果该布尔值设置为true,则使用"Show Detail Segue“作为下一个段,而不是"Show Segue”。

显示详细信息自动清除导航堆栈。也有其他方法来处理这个问题,但我只是抛给你一个可以接受的有效答案。阅读有关segues和自定义segues以及导航堆栈的更多信息,以获得更深入的理解。如果您想深入了解iPhone应用程序开发,那么您的时间是值得的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39023004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档