如何检查对象是否为特定类型的实例在Swift中?
你好!我开始学习Swift并遇到了一个问题。我有一个类层次结构:基类 `Vehicle` 和两个子类 `Car` 和 `Bicycle`。我创建了一个类型为 `[Vehicle]` 的数组,包含不同的实例。现在我需要遍历数组并根据对象的具体类型执行不同的操作。例如,对于 `Car` 输出车门数量,对于 `Bicycle` 输出齿轮数量。
在Objective-C中,我会使用 `isKindOfClass:`,但在Swift中这不起作用。我尝试这样写:
```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),