swift 从 tableView 通过 navigationController 到 TableViewController

swift segue from tableView through a navigationController to a TableViewController

我无法将它转到另一个 TableViewController。我一直遇到崩溃......我知道这是因为它正在通过 NavigationController 而我不知道如何从主控制器 segue 传递它并转到 tableView。这是外观

从 navControl 到 tableView 的 segue 称为 "ChildsInfo"

这是我正在尝试并崩溃的方法。

class PagesViewController: UIViewController, UITableViewDelegate {

    @IBOutlet weak var pagesTableView: UITableView!
    @IBOutlet weak var infoProgressBar: UIProgressView!


    let pages = ["Page 1","Page 2","Page 3"]
    var myIndex = 0

    var selectedPage: String?

    override func viewDidLoad() {
        super.viewDidLoad()

        pagesTableView.dataSource = self
        pagesTableView.delegate = self

        // Do any additional setup after loading the view.
    }
}

extension PagesViewController: UITableViewDataSource {


    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCell(withIdentifier: "pagesTableViewCell")
        cell?.textLabel?.text = pages[indexPath.row]
        return cell!
    }



    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return pages.count
    }

    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
            return 71.0
    }

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        if indexPath.row == 0 {
            performSegue(withIdentifier: "ChildsInfo", sender: self)

        }

}
}

根据您发布的图片,我假设您遇到的崩溃是因为未找到 segue。这是因为您应该尝试从 table 视图(即图像左侧的 link )对导航控制器本身执行 segue。然后导航控制器有一个根视图控制器,您可以根据需要将其他控制器推入堆栈。