从我的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)
}
}
答案 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)
}