Cómo verificar si un objeto es una instancia de un tipo específico en Swift
¡Hola! Empecé a estudiar Swift y me encontré con un problema. Tengo una jerarquía de clases: la clase base `Vehicle` y dos subclases `Car` y `Bicycle`. Creo un array de tipo `[Vehicle]` que contiene diferentes instancias. Ahora necesito recorrer el array y realizar diferentes acciones según el tipo específico del objeto. Por ejemplo, para `Car` mostrar el número de puertas, y para `Bicycle` el número de marchas.
En Objective-C habría usado `isKindOfClass:`, pero en Swift esto no funciona. Intenté escribir así:
```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),