Sobes.tech
Junior — Middle

Можеш ли да изброиш и обясниш свойствата, налични в езика Swift?

sobes.tech AI

Отговор от AI

В Swift свойствата са променливи или константи, свързани с класове, структури или изброявания, които съхраняват данни или изчисляват стойности.

Основни типове свойства:

  • Запаметени свойства (Stored Properties) — съхраняват постоянна или променлива стойност. Например:
struct Лице {
    var име: String  // променливо запаметено свойство
    let годинаНаРаждане: Int  // константно запаметено свойство
}
  • Изчисляеми свойства (Computed Properties) — не съхраняват стойност директно, а я изчисляват при достъп. Могат да имат геттер и сеттер:
struct Правоъгълник {
    var ширина: Double
    var височина: Double
    var площ: Double {
        return ширина * височина
    }
}
  • Наблюдатели на свойства (Property Observers) — позволяват реагиране на промяна в стойността на запаметено свойство чрез willSet и didSet:
var резултат: Int = 0 {
    willSet {
        print("Скоро ще се промени на \(newValue)")
    }
    didSet {
        print("Променено от \(oldValue) на \(резултат)")
    }
}
  • Типови свойства (Type Properties) — принадлежат на самия тип, а не на екземпляр, и се декларират с static или class:
struct Математика {
    static let pi = 3.14159
}

По този начин, свойствата в Swift позволяват удобно съхраняване и изчисляване на данни, както и проследяване на техните промени.