Avatar ·

Wie überprüft man, ob ein Objekt eine Instanz eines bestimmten Typs in Swift ist?

Hallo! Ich habe angefangen, Swift zu lernen und bin auf ein Problem gestoßen. Ich habe eine Klassenhierarchie: eine Basisklasse `Vehicle` und zwei Unterklassen `Car` und `Bicycle`. Ich erstelle ein Array vom Typ `[Vehicle]`, das verschiedene Instanzen enthält. Jetzt muss ich das Array durchlaufen und je nach konkretem Typ des Objekts unterschiedliche Aktionen ausführen. Zum Beispiel für `Car` die Anzahl der Türen ausgeben und für `Bicycle` die Anzahl der Gänge. In Objective-C hätte ich `isKindOfClass:` verwendet, aber in Swift funktioniert das nicht. Ich habe es so versucht: ```swift class Vehicle { var name: String init(name: String) { self.name = name } } class Car: Vehicle { var doors: Int init(name: String, doors: Int) { self.doors = doors super.init(name: name) } } class Bicycle: Vehicle { var gears: Int init(name: String, gears: Int) { self.gears = gears super.init(name: name) } } let vehicles: [Vehicle] = [ Car(name: "Sedan", doors: 4),