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

🦅 شرح Swift

دوال التمديد (Extensions)

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

ما هو التمديد؟

يضيف وظائف لنوع موجود (حتى من المكتبة القياسية):

extension Int {
    func squared() -> Int {
        return self * self
    }
    var isEven: Bool {
        return self % 2 == 0
    }
}

print(4.squared())   // 16
print(5.isEven)      // false

تمديد String

extension String {
    func shout() -> String {
        return self.uppercased() + "!"
    }
}
print("hi".shout())   // HI!

تمديد أنواعك الخاصّة

struct Point { var x: Int; var y: Int }

extension Point {
    func distanceFromOrigin() -> Double {
        return Double(x * x + y * y).squareRoot()
    }
}

تمديد بروتوكول

يمكن للتمديد أن يضيف تنفيذًا افتراضيًّا لبروتوكول (كما في الدرس السابق).

💡 التمديدات تبقي الكود منظّمًا وتضيف ميزات بأناقة دون لمس الكود الأصلي.

🎯 التالي: الأنواع العامّة.

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