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),