Avatar ·

如何检查对象是否为特定类型的实例在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),