تخطَّ إلى المحتوى

🦅 شرح Swift

الإغلاقات (Closures)

الدرس 14 من 25· ⏱ 1 دقائق قراءة

الإغلاق الأساسي

let add = { (a: Int, b: Int) -> Int in
    return a + b
}
print(add(2, 3))   // 5

الصيغة المختصرة

let nums = [1, 2, 3, 4]
let doubled = nums.map({ (n: Int) -> Int in return n * 2 })
let short = nums.map { $0 * 2 }   // $0 = العنصر، مختصر تمامًا

الإغلاق اللاحق (Trailing)

عندما يكون الإغلاق آخر معامل، يخرج خارج الأقواس:

let sorted = nums.sorted { $0 > $1 }     // تنازلي
let evens = nums.filter { $0 % 2 == 0 }

الإغلاق كمعامل دالة

func perform(_ operation: () -> Void) {
    operation()
}
perform {
    print("نُفّذ الإغلاق")
}

💡 الإغلاقات أساس واجهات SwiftUI ومعالجة الأحداث في تطبيقات Apple.

🎯 التالي: الهياكل بعمق.

هل كان هذا الدرس مفيدًا؟