Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 将segue连接到导航控制_Swift_Uitableview_Segue - Fatal编程技术网

Swift 将segue连接到导航控制

Swift 将segue连接到导航控制,swift,uitableview,segue,Swift,Uitableview,Segue,在我使用Segue在视图控制器之间传输数据之前 override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "Edit List" { if let currentTodo = todoReadyForEditing, let editControler = segue.destination as? ListPageController {

在我使用Segue在视图控制器之间传输数据之前

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "Edit List" {
        if let currentTodo = todoReadyForEditing, let editControler = segue.destination as? ListPageController {
            editList.prepare(for: currentList)
        }
现在计划已更改,我应该将数据从第一个视图控制器传输到
tableViewController
。因为我想在
tableViewController
页面上有一个导航栏,所以我在它前面添加了一个
navigationBarController

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "Edit List" {
        if let currentTodo = todoReadyForEditing, let editControler = segue.destination as? ListTableViewController {
            editList.prepare(for: currentList)
        }
问题是,当我将segue直接连接到UITableViewController时,一切正常,与之前一样,我有两个视图控制器,但导航栏被隐藏了,我不希望这样。正如我所读到的,显然我必须首先将segue连接到navigationViewController,但如果我没有连接,数据将不会传输到表视图控制器


有什么建议吗?提前感谢您的帮助

segue的目标是
UINavigationController
,但您可以使用它的
topViewController
属性,它是您的控制器

guard let navCon = segue.destination as? UINavigationController, 
      let controller = navCon.topViewController as? ListTableViewController else { fatalError("Segue wasn’t set right") }


无论如何,我建议您不要使用segues,而是通过编程方式使用嵌入式控制器创建
UINavigationController

非常感谢亲爱的Robert