以上是我的应用图。我有一个root View controller
以second view controller
模式显示。然后,second view controller
会通过view controller
向searchBar
提供show segue
。
如果用户在searchBar
中输入内容,table view
将显示(与故事板中的视图控制器没有segue关系),其中cells
填充了所有可能的地址结果。如果用户点击任何首选单元格,我想执行展开segue以返回second view controller
。
所以在override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
我做dismiss(animated: true, completion: nil)
self.performSegue(withIdentifier: "backToNewTasks", sender: self)
但是这样,segue会更进一步到root View controller
而不是second view controller
view controller
。
我认为问题可能是searchBar
segue
与table view
没有dismiss
关系,而views stack
方法对{ {1}}。但如果我不使用dismiss
方法,则segue
甚至不会发生。
我做了一些研究并找到了这些
Programmatically defining a new navigation controller order/stack?
Calling function from another ViewController in swift
Why does my unwind segue go back too far?
但他们并没有真正解决像我这样的情况。
以下是示例项目的链接:
https://wetransfer.com/downloads/5ee60abbb9c245feab19862b0989b1f120170617090404/dd2235