Ein Enum-Tupel außerhalb eines Switch in Swift auspacken

8

Eines der coolen neuen Features von Swift ist die erweiterte enum s und die Möglichkeit, komplexere Daten zu verknüpfen. Zum Beispiel könnte ich so etwas tun:

%Vor%

Ist es möglich, diese inneren Werte außerhalb einer switch -Anweisung auszupacken? Etwas wie:

%Vor%

Warum?

Ich habe keinen guten Grund, ich experimentiere nur mit der Sprache.

    
Logan 04.06.2014, 00:46
quelle

3 Antworten

14

Bearbeiten: Dies ist jetzt möglich in Swift 2+ Ссылка

Ich glaube nicht, dass es möglich ist, weil eine enum-Variable nicht garantiert ist, ein Fall mit diesen inneren Werten zu sein. Sie könnten eine berechnete Eigenschaft hinzufügen, die es für Sie auspackt:

%Vor%

Dann können Sie tun:

%Vor%     
Austin 04.06.2014, 01:22
quelle
12

Zum Glück kannst du das in Swift 2 mit einem if case :

machen %Vor%     
Qbyte 07.07.2015 15:06
quelle
3

Ich denke, Sie betrachten die Aufzählung falsch. Der Aufzählungstyp kann nur einer der Werte sein. In diesem Fall kann ein Standort nur ein GeoPoint oder eine Adresse sein, nicht beides. Die switch-Anweisung bestimmt, welcher es ist. Ich denke, die Funktionalität, nach der Sie suchen, ist eine Struktur wie diese:

%Vor%

Dann können Sie eine neue Instanz von Location erstellen und auf deren Eigenschaften zugreifen.

%Vor%     
68cherries 04.06.2014 01:35
quelle

Tags und Links