2017-04-09 52 views
0

我已經根據我的項目在導航控制器之間的viewcontrollers。當我試圖通過它的數據顯示了以下錯誤:控制器之間傳遞數據顯示錯誤

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 

回答

1

我認爲你的segue目標是UINavigationController.If你沒有使用導航控制器的自定義類。您需要更改代碼

let navVc = segue.destination as! UINavigationController 

,然後,如果Food_Drinks_DetailTableViewController是導航控制器第一控制器

let fddVc = navVc.viewControllers.first as! Food_Drinks_DetailTableViewController 
fddVc.FdString = fad[indexpath.row] 
+0

當我上面的代碼運行它表明 – udaykumar

+0

:「?UIViewController的」類型的值沒有會員'FdString' – udaykumar

+0

我已編輯答案,請檢查 –

相關問題