未调用 UIViewController 的 prepare for segue 方法



我正在尝试将数据从表视图单元格传递到选项卡视图控制器,以供选项卡视图控制器的相应视图使用。但是,没有调用下面的覆盖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.

我会尝试在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]
}

相关内容

  • 没有找到相关文章

最新更新