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.
Das hat Spaß gemacht. Anstelle von Generika, ging ich einfach mit Any
, da das die Basis von allem ist.
Sie verwenden dann die switch-Anweisung, um die Eigenschaft value
in Ihre verschiedenen enums zu reduzieren und entsprechend zu verarbeiten.