كيفية التحقق مما إذا كان الكائن مثيلاً لنوع معين في 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),
```