Blue Moose
Blue Moose

Reputation: 125

swift segue from tableView through a navigationController to a TableViewController

I cannot get this to segue to another TableViewController. I keep getting a crash... I know it is because it is going through the NavigationController and I do not know how to segue from the main controller to pass it and go to the tableView. Heres the look enter image description here

the segue from the navControl to the tableView is called "ChildsInfo"

enter image description here

Here is what I am trying and crashing.

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)

        }

}
}

Upvotes: 0

Views: 117

Answers (1)

Upholder Of Truth
Upholder Of Truth

Reputation: 4721

Based on the images you have posted I'm assuming the crash you are getting is that the segue is not found. This is because you should be trying to perform the segue to the navigation controller itself from the table view (i.e. the link on the left in your image). The navigation controller then has a root view controller and you can push others onto the stack as required.

Upvotes: 1

Related Questions