为了学习,我想传递执行indexPath.row
来准备segue并将其发送给另一个视图控制器
例如我有一个数组
var myArray = ["Benz", "BMW", "Porsche", "Audi"]
这是使用peformSegue
在发件人中发送indexpath.row
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
performSegue(withIdentifier: "car", sender: indexPath)
}
我想根据我点击的行来更改标签
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "car" {
if let car = segue.destination as? car {
let index = sender as! IndexPath
car.label?.text = myArray[index.row]
}
}
}
另一个视图控制器
class car : UIViewController {
@IBOutlet weak var label: UILabel!
}
但是它不起作用,并且发现另一个控制器nil
中的标签,这是怎么回事?