Swift Language Proprietà calcolate


Esempio

Diversamente dalle proprietà memorizzate, le proprietà calcolate vengono create con un getter e un setter, eseguendo il codice necessario quando si accede e si imposta. Le proprietà calcolate devono definire un tipo:

var pi = 3.14

class Circle {
    var radius = 0.0
    var circumference: Double {
        get {
            return pi * radius * 2
        }
        set {
            radius = newValue / pi / 2
        }
    }
}

let circle = Circle()
circle.radius = 1
print(circle.circumference) // Prints "6.28"
circle.circumference = 14
print(circle.radius) // Prints "2.229..."

Una proprietà calcolata di sola lettura è ancora dichiarata con una var :

var circumference: Double {
    get {
        return pi * radius * 2
    }
}

Le proprietà calcolate di sola lettura possono essere abbreviate per escludere get :

var circumference: Double {
    return pi * radius * 2
}