swift segue from tableView通过navigationController到TableViewController

时间:2018-01-07 18:14:52

标签: swift tableview row segue

我无法将其转换为另一个TableViewController。我一直在崩溃...我知道这是因为它正在通过NavigationController,我不知道如何从主控制器传递它来传递它并转到tableView。继承人的样子 enter image description here

从navControl到tableView的segue被称为" ChildsInfo"

enter image description here

这是我正在尝试和崩溃的事情。

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)

        }

}
}

1 个答案:

答案 0 :(得分:1)

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