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), ```