我正在尝试将数据从tableview单元格传递到选项卡视图控制器,以供选项卡视图控制器的相应视图使用。但是,下面的重写func prepare
方法没有被调用,程序完全绕过这个方法进入选项卡视图控制器。
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let selectedCarIndex = self.savedCarsTableVC.indexPathForSelectedRow?.row
let destVC = segue.destination as! TabBarController
destVC.selectedCar = savedCars[selectedCarIndex!]
}
我希望selectedCar
对象能够从数组返回数据,但它是nil
。
答案 0 :(得分:0)
我会尝试在tableView didSelectRow方法中设置selectedCarIndex。此外,请确保您要导航到TabBarController,而不是导航到TabBar中的一些ViewController。
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: IndexPath) {
self.performSegue(withIdentifier: "youridentifier", sender: indexPath)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let selectedCarIndex = sender as! IndexPath
let destVC = segue.destination as! TabBarController //Are you sure this is the correct ViewController to be casting to?
destVC.selectedCar = savedCars[selectedCarIndex.row]
}