2016-03-26 23 views
1

Ich erhalte den Fehler Cannot convert value of type 'UIViewController' to type 'TableView' in ZwangWert kann nicht vom Typ ‚UIViewController‘ umwandeln ‚Tableview‘ in Zwang

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

    let DestViewController = segue.destinationViewController as TableView //Error 

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

Wenn meine Antwort Ihre Frage beantwortet, können Sie das bitte mit dem Häkchen akzeptieren? Wenn es etwas fehlt, dann bitte, sag es mir in den Kommentaren! – Dopapp

Antwort

2

.destinationViewController gibt eine UIViewController, kein UIView zu geben.

Dieser Fehler wird ausgelöst, weil Sie im Wesentlichen versuchen, einen UIViewController zu einem UITableView zu reduzieren, wenn der UITableView Controller am nächsten ist. Letzteres ist ein Subtyp von UIViewController, während ersteres ein Subtyp von UIView ist. Daher können Sie nicht von UIViewController zu UITableView, sondern stattdessen zu UITableViewController zurückfallen.

Wenn Sie DestViewController wollen, dass die Tableview sein (man denke an so etwas wie destTable Umbenennen), werden Sie sagen:

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 

} 

hoffe, das hilft!

+0

Danke das ist genau das, was ich brauchte –

+0

Akzeptieren Sie die Antwort, wenn es Ihr Problem löst – sasquatch

Verwandte Themen