我根据我的项目在视图控制器之间放置了一个导航控制器。当我尝试传递数据时,它显示以下错误:
Could not cast value of type 'UINavigationController' (0x10900b008) to 'uday.Food_Drinks_DetailTableViewController' (0x105b72600).
这是我的代码:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
performSegue(withIdentifier: "fdShow", sender: nil)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "fdShow"{
if let indexpath = tablevi.indexPathForSelectedRow {
let fddVc = segue.destination as! Food_Drinks_DetailTableViewController
fddVc.FdString = fad[indexpath.row]
}
}
}
我在以下行收到错误:
let fddVc = segue.destination as! Food_Drinks_DetailTableViewController
答案 0 :(得分:1)
我认为你的segue目的地是UINavigationController。如果你没有使用导航控制器的自定义类。您需要将代码更改为
let navVc = segue.destination as! UINavigationController
然后,如果Food_Drinks_DetailTableViewController是导航控制器中的第一个控制器
let fddVc = navVc.viewControllers.first as! Food_Drinks_DetailTableViewController
fddVc.FdString = fad[indexpath.row]