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

🦅 شرح Swift

الخصائص (Properties)

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

الخصائص المخزّنة والمحسوبة

struct Rectangle {
    var width: Double
    var height: Double

    var area: Double {          // محسوبة (get)
        return width * height
    }
}

let r = Rectangle(width: 3, height: 4)
print(r.area)   // 12

get / set

struct Temperature {
    var celsius: Double
    var fahrenheit: Double {
        get { celsius * 9/5 + 32 }
        set { celsius = (newValue - 32) * 5/9 }
    }
}

lazy — تهيئة عند أوّل استخدام

class Data {
    lazy var heavy = loadHeavyData()   // لا يُحسب حتى يُستخدم
}

مراقبات الخصائص

class Account {
    var balance: Double = 0 {
        willSet { print("سيتغيّر إلى \(newValue)") }
        didSet { print("تغيّر من \(oldValue)") }
    }
}

🎯 التالي: التعدادات.

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