我将尽力解释发生的事情,但如果我能进一步澄清,请告诉我。我自然有多个视图控制器,在它们之间,我使用segue进行转换和传输。以下是我遇到问题的观点的顺序:
我选择保存地址并通过UIAlert通知保存成功(反映在后端)。我在UIAlert中单击“确定”以执行以下操作:
let okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default){
UIAlertAction inself.basicMap.removeObserver(self, forKeyPath: "myLocation")
self.performSegueWithIdentifier("backToEditFromWorkSegue", sender: self)}`
然后我自动返回编辑个人资料。如果单击“编辑配置文件”视图中的“完成”按钮,视图将消失,但会再次显示“更新当前地址”。这就是我想知道为什么会发生以及如何解决的问题。编辑个人资料上的完成按钮链接到:
self.customNavigationBar.leftBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Done, target: self, action: "addTapped")
和addTapped是:
func addTapped()
{
self.navigationController?.popViewControllerAnimated(true)
}
从我在这里可以想到的,我相信突然出现的观点出了问题。
答案 0 :(得分:1)
您的代码会将当前视图控制器弹出堆栈并显示上一个视图控制器。我想你正试图回到根视图控制器?如果是这样,试试:
self.navigationController?.popToRootViewControllerAnimated(true)