كيفية فرز مصفوفة من الكائنات المخصصة حسب قيمة خاصية في 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 })
```
هذا يفرز تصاعدياً، لكني أحتاج تنازلياً. وكيف أضيف شرط الفرز الثاني؟