Wie überprüft man das Objekt zur Klasse oder Struktur in swift?

8

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.

    
Vishnuvardhan 06.08.2015, 07:22
quelle

6 Antworten

4

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.

    
Daniel Lemire 01.12.2016 18:10
quelle
4

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.

    
Daniel Hall 01.02.2017 02:41
quelle
2

Es gibt is operator.

%Vor%

Und es gibt as? operator.

%Vor%     
mustafa 06.08.2015 07:29
quelle
1

In swift4, Überprüfung der Klasse oder Struktur

%Vor%     
Brownsoo Han 10.01.2018 07:20
quelle
-1

Sie können dies wie unten beschrieben tun und für weitere Informationen hierzu folgen Sie bitte diesem Link .

%Vor%     
Akshay Sunderwani 06.08.2015 07:34
quelle
-1

Ein einfaches Beispiel dafür:

%Vor%     
user4790024 06.08.2015 07:35
quelle

Tags und Links