【问题标题】:Pass var from selected TableView Cell Swift Xcode从选定的 TableView Cell Swift Xcode 传递 var
【发布时间】:2020-07-28 22:19:28
【问题描述】:

我是 Swift (Xcode) 的初学者,我需要帮助。我有一个 tableview,我想将 indexPath.row 中的信息发送到 segue。

我的脚本工作,但问题是发送到我的 segue 的数据是上一个选定的行,而不是当前的单元格选择。因为函数prepare segue是在func tableView之前调用的。我搜索了 2 天,每个教程都给我同样的问题。

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    jobname = filldata[indexPath.row]
    print(jobname)
    performSegue(withIdentifier: "jobsegue", sender: self)
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "jobsegue" {
        let destVC = segue.destination as! JobNameViewController
        destVC.jobname = jobname
    }
}

非常感谢您的帮助!

【问题讨论】:

  • 似乎没问题...应该可以工作...
  • 你有没有在故事板中也定义了segue?这是我能想到的让prepare先火的唯一方法。

标签: ios swift xcode


【解决方案1】:

试试这个,效果很好:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    performSegue(withIdentifier: "jobsegue", sender: indexPath.row)
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "jobsegue" {
        let destVC = segue.destination as! JobNameViewController
        destVC.jobname = filldata[sender]
    }
}

【讨论】:

    猜你喜欢
    • 2018-07-03
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    • 2020-01-02
    • 1970-01-01
    • 2015-08-19
    相关资源
    最近更新 更多