Swift - Wie deklariere ich Variable / Funktion von / mit Enums unterschiedlichen Typs?

9

Ich muss eine Variable deklarieren, die ein Array von Enums unterschiedlichen Typs speichert, zB .:

%Vor%

Der Compiler gibt Folgendes an:

  

Der Ausdruckstyp ist mehrdeutig ohne mehr Kontext

Dies wird notwendig sein, um eine Enumeration oder ein anderes Objekt als Funktionsparameter zu übergeben. Ich entdeckte jedoch, dass ich Generika weitergeben kann, um dies zu erreichen, zB:

%Vor%

aber Protokoll mit optionalen Methoden (mit @objc vorangestellt) ist es unmöglich.

    
Kaktusiarz 18.08.2016, 21:40
quelle

2 Antworten

2

Sie können ein Protokoll verwenden ...

%Vor%     
MirekE 19.08.2016 00:58
quelle
1

Das hat Spaß gemacht. Anstelle von Generika, ging ich einfach mit Any , da das die Basis von allem ist.

%Vor%

Sie verwenden dann die switch-Anweisung, um die Eigenschaft value in Ihre verschiedenen enums zu reduzieren und entsprechend zu verarbeiten.

    
CodeBender 19.08.2016 00:27
quelle

Tags und Links