Sobes.tech
Назад к вопросам
Junior — Middle
74

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

Ответ от нейросети

sobes.tech AI

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

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

  • Stored Properties (Хранимые свойства) — хранят постоянное или изменяемое значение. Например:
struct Person {
    var name: String  // изменяемое хранимое свойство
    let birthYear: Int  // неизменяемое хранимое свойство
}
  • Computed Properties (Вычисляемые свойства) — не хранят значение напрямую, а вычисляют его при обращении. Могут иметь геттер и сеттер:
struct Rectangle {
    var width: Double
    var height: Double
    var area: Double {
        return width * height
    }
}
  • Property Observers (Наблюдатели свойств) — позволяют реагировать на изменение значения хранимого свойства с помощью willSet и didSet:
var score: Int = 0 {
    willSet {
        print("Скоро изменится на \(newValue)")
    }
    didSet {
        print("Изменилось с \(oldValue) на \(score)")
    }
}
  • Type Properties (Свойства типа) — принадлежат самому типу, а не экземпляру, объявляются с static или class:
struct Math {
    static let pi = 3.14159
}

Таким образом, свойства в Swift позволяют удобно хранить и вычислять данные, а также отслеживать их изменения.