Avatar ·

كيفية فرز مصفوفة من الكائنات المخصصة حسب قيمة خاصية في Swift؟

مرحباً بالجميع! أنا مبتدئ في Swift وأكتب تطبيقاً صغيراً لإدارة المهام. لدي هيكل `Task` مع الحقول `title` و `priority` (Int) و `dueDate` (Date). قمت بإنشاء مصفوفة من هذه المهام: ```swift struct Task { let title: String var priority: Int var dueDate: Date } var tasks = [ Task(title: "شراء البقالة", priority: 3, dueDate: Date()), Task(title: "إعداد التقرير", priority: 1, dueDate: Date().addingTimeInterval(86400)), Task(title: "الاتصال بالعميل", priority: 2, dueDate: Date().addingTimeInterval(172800)) ] ``` الآن أريد فرز هذه المصفوفة حسب الأولوية (من الأعلى إلى الأدنى)، ثم حسب التاريخ (من الأقدم إلى الأحدث). جربت استخدام `sorted(by:)` مع closure، لكني أحصل على أخطاء في الأنواع أو ترتيب غير صحيح. على سبيل المثال: ```swift let sortedTasks = tasks.sorted(by: { $0.priority < $1.priority }) ``` هذا يفرز تصاعدياً، لكني أحتاج تنازلياً. وكيف أضيف شرط الفرز الثاني؟