2017-02-11 3 views
0

Ich habe den folgenden Abschnitt in einer TableViewController und jede Tabellenzeile hat ein Fruit-Objekt. Ich möchte das Objekt jeder Zeile an einen View-Controller übergeben, der mehr Details über das Objekt in einer Zeile anzeigt. Daher habe ich den folgenden Abschnitt geschrieben, um das Fruit-Objekt über View-Controller zu übertragen.Ein Objekt durch ein Storyboard führen Segue

Im FruitDescriptionViewController, kann ich nicht herausfinden, wie die Variable zu definieren, die auf dem Objekt aus der Reihe nehmen, weil es mir eine Variable var chosenFruit = Fruit nicht zulassen, definieren und in der Segue, erhalte ich die Fehler cannot pass type Fruit to type Fruit.type

Wie gehe ich vor, wenn ich das Fruit-Objekt über das Segment übergeben und es in einer Fruit-Variablen im FruitDescriptionViewController speichern würde?

+1

'var selectedFruit = Fruit' sollte' var selectedFruit: Fruit? 'Sein – Callam

Antwort

3

Was Sie versuchen zu korrigieren, können Sie das Objekt auf den nächsten ViewController im Segment setzen.

Das Problem hier ist nicht über die Überleitung, aber ich glaube, es ist in der FruitDescriptionViewController. Sie haben eine Variable wie folgt festgelegt:

var chosenFruit = Fruit 

Was Sie hier tun, die Art Frucht in die Variable chosenFruit spart. Wenn Sie also versuchen, eine Instanz des Fruit-Typs auf selectedFruit zu setzen, wird cannot pass type Fruit to type Fruit.type angezeigt. Die Variable hat den Typ des Fruchttyps und Sie versuchen, eine Instanz festzulegen.

Was Sie stattdessen tun sollten, ist die Einstellung der choseFruit Variable wie die folgenden:

var chosenFruit: Fruit? //or var chosenFruit: Fruit! if its necessary 

Auf diese Weise, die Art des var richtig wäre.

+0

Es hat funktioniert! Vielen Dank! – ch1maera