2016-03-26 37 views
1

鍵入「的TableView」我得到的錯誤Cannot convert value of type 'UIViewController' to type 'TableView'在脅迫無法將類型「的UIViewController」的價值強制

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 

    let DestViewController = segue.destinationViewController as TableView //Error 

    DestViewController.label.text = TEXT.text 
} 
+0

如果我的答案回答你的問題,那麼你能否用複選標記接受它?如果缺少某些東西,請在評論中告訴我! – Dopapp

回答

2

.destinationViewController返回一個UIViewController,而不是一個UIView。

這個錯誤是由於你本質上試圖將UIViewController向下轉換爲UITableView,當最接近的東西是UITableView 控制器。後者是UIViewController的子類型,而前者是UIView的子類型。因此,你不能從UIViewController向下轉換爲UITableView,而是向UITableViewController轉發。

如果你想DestViewController是的tableView(考慮重新命名爲類似destTable),你將不得不說:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 

    let destTable = (segue.destinationViewController as UITableViewController).tableView 

    destTable.label.text = TEXT.text //suggestion: change `TEXT` to just `text` or `txt`, etc.; just not all uppercase 

} 

希望這有助於!

+0

謝謝,這正是我需要的 –

+0

接受答案,如果它解決了你的問題 – sasquatch

相關問題