将tableview行标题传递给viewcontroller swift

时间:2018-04-08 12:23:54

标签: ios swift uitableview viewcontroller

从我的tableview转换到我的视图控制器时,我已经完成了所有工作。我唯一的问题是当我从tableview转到viewcontrller时,我的变量没有被传递。它显示为空白。

当我在tableview控制器中打印到控制台时,我看到我的变量不是空白但是在viewcontroller中接收它时它是空白的。我无法弄清楚为什么我的变量没有传递给我的viewcontroller。任何帮助或想法都表示赞赏。

Tableview控制器方法:

 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    // Get Cell Label
    let indexPath = tableView.indexPathForSelectedRow!
    let currentCell = tableView.cellForRow(at: indexPath)! as UITableViewCell

    //valueToPass = currentCell.textLabel?.text
    let myVC = storyboard?.instantiateViewController(withIdentifier: "selectedMeterView") as! SelectMeterDetailsViewController
    myVC.stringPassed = (currentCell.textLabel?.text)!
    print(myVC.stringPassed)
    navigationController?.pushViewController(myVC, animated: true)
}

这是我的viewcontroller接收变量:

import UIKit
import Foundation

class SelectMeterDetailsViewController: UIViewController {

    var stringPassed = ""

    @IBOutlet weak var meterNameOuput: UILabel!


    override func viewDidLoad() {
        super.viewDidLoad()
        meterNameOuput.text = "THis is a test \(stringPassed)"
    }


    @IBAction func goBackToTableview(_ sender: UIBarButtonItem) {
        performSegue(withIdentifier: "backToTableVIew", sender: self)
    }
}

1 个答案:

答案 0 :(得分:0)

SelectMeterDetailsViewController中的第一个声明var就像这个

var stringPassed:String?

第二

 @IBAction func goBackToTableview(_ sender: UIBarButtonItem) {
   //// pop the view controller don't segue back
  self.navigationController?.popViewController(animated: true)
}