Como verificar se um objeto é uma instância de um tipo específico em Swift?
Olá! Comecei a estudar Swift e me deparei com um problema. Tenho uma hierarquia de classes: a classe base `Vehicle` e duas subclasses `Car` e `Bicycle`. Crio um array do tipo `[Vehicle]` contendo diferentes instâncias. Agora preciso percorrer o array e executar ações diferentes dependendo do tipo específico do objeto. Por exemplo, para `Car` exibir o número de portas, e para `Bicycle` o número de marchas.
Em Objective-C eu usaria `isKindOfClass:`, mas em Swift isso não funciona. Tentei escrever assim:
```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),
No answers yet.
Faça login para deixar uma resposta