我在强制
中收到错误Cannot convert value of type 'UIViewController' to type 'TableView'
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let DestViewController = segue.destinationViewController as TableView //Error
DestViewController.label.text = TEXT.text
}
答案 0 :(得分:2)
.destinationViewController
返回一个UIViewController,而不是UIView。
抛出此错误是因为当最接近的是UITableView Controller 时,您实际上是在尝试将UIViewController向下转换为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
}
希望这有帮助!