Swift имеет синтаксис объявления свойств, очень похожий на С#:
var foo: Int {
    get { return getFoo() }
    set { setFoo(newValue) }
}
Однако он также имеет действия willSet и didSet. Они вызываются до и после вызова сеттера, соответственно. Какова их цель, учитывая, что вы можете иметь один и тот же код внутри сеттера?
