如何使用导航栏项转到其他视图控制器?

How to go to other view Controller using Navigation Bar Item?

这是我的 TableViewController:单元格将转到第一个控制器

    import UIKit

class SubjectsTableViewCell: UITableViewCell {
    @IBOutlet weak var subjectImage: UIImageView!
    @IBOutlet weak var subjectName: UILabel!
}

class AddQuestionTableViewController: UITableViewController {

    var Subjects = ["Geology", "Mathematics", "Computer", "English", "History", "Science"]

    override func viewDidLoad() {
        super.viewDidLoad()

    }


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

    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        performSegue(withIdentifier: "pickedSubjectSegue", sender: Subjects[indexPath.row])
    }

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        let next = segue.destination as! SubViewController
        next.myLabel = sender as! String
    }


    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! SubjectsTableViewCell


        cell.subjectName?.text = Subjects[indexPath.row]
        cell.subjectImage?.image = UIImage(named: (Subjects[indexPath.row] + ".jpeg"))

        return cell
    }

        override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

如何使用“添加导航栏”项移动到第二个视图控制器?

我尝试了什么:ctrl + 拖动然后模式 - 失败。

我应该使用 action 还是 segue?但是我已经在 table 单元格中使用了 segue。

非常感谢任何帮助。谢谢

seque 连接到 second view controller 并为其指定一个不同于连接到 first view controller 的 segue 的名称,即 pickedSubjectSegue

示例:secondSegue

然后在 prepareSegue 方法中,在执行任何操作之前检查两个 segue 的标识符:

代码:

override func prepare(for segue: UIStoryboardSegue, sender: Any?)
    {
        if segue.identifier = "pickedSubjectSegue"
        {
            let next = segue.destination as! SubViewController
            next.myLabel = sender as! String
        }
        else
        {
            //Write your code here
        }
    }