ios - 如何使用导航栏项目转到其他 View Controller ?

标签 ios swift swift3 ios10

enter image description here 这是我的 TableViewController:单元格将转到第一个 Controller

    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.
    }
}

如何使用“添加导航栏”项目移动到第二个 View Controller ?

我尝试过:ctrl + 拖动然后模态 - 失败。

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

非常感谢任何帮助。谢谢

最佳答案

seque连接到第二个 View Controller ,并为其指定一个名称,而不是连接到第一个 View Controller 的segue,即 pickSubjectSegue

示例: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
        }
    }

关于ios - 如何使用导航栏项目转到其他 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42751875/

相关文章:

ios - Xcode 使成员(member)中心的分发配置文件无效

ios - 如何允许第三方发布您的 iPhone 应用程序

swift - Firebase 推送数据 Swift?

ios - firebase 数据库中新添加的数据在使用 Swift3 拉刷新之前 self 复制

ios - 如何在 swift 3 中使用 UIView 类中的 PerformSegue

ios - NSPredicate 与 NSString 发生奇怪的崩溃

ios - 我可以通过标签获取 UICollectionViewCell 吗?

swift - 尽管在 Swift 3 上转换为 AnyObject,类型 "Any"没有下标成员?

ios - 致力于在对象周围绘制边界并且该对象位于图像内部

ios - 如果 tableview 为空,则显示标签和图像