Ich habe mich schnell an die Frage gehalten. Angenommen, ich habe ein Objekt, um zu überprüfen, ob es in Swift von struct oder class stammt.
In Swift 3.0 können Sie Mirror(reflecting:x).displayStyle
aufrufen, wobei x
Ihr interessanter Wert ist. Das Ergebnis ist class
, struct
, enum
, dictionary
, set
... siehe Dokumentation Ссылка
Codebeispiel:
%Vor%Natürlich sollte es am besten mit einer switch-case-Anweisung in der Praxis gehandhabt werden.
Dieser Ansatz hat für mich in Swift 3 funktioniert:
%Vor%Beachten Sie, dass dieser Ansatz nur dann angibt, wenn eine Instanz ein Klassentyp ist oder nicht. Die Tatsache, dass es nicht eine Klasse ist, bedeutet nicht notwendigerweise, dass es sich um eine Struktur handelt (könnte ein Enum, eine Schlussfolgerung, ein Tupel usw. sein). Aber für die meisten Zwecke und Kontexte reicht dies aus, um zu wissen, ob Sie es tun mit einem Referenztyp oder einem Werttyp, der normalerweise benötigt wird.
Sie können dies wie unten beschrieben tun und für weitere Informationen hierzu folgen Sie bitte diesem Link .
%Vor%