swift willSet didSet и набор методов в свойстве

В чем разница междуwillSet - didSet, а такжеget - set, при работе с этим внутри свойства?

С моей точки зрения, они оба могут установить значение для свойства. Когда и почему я должен использоватьwillSet - didSet, и когдаget - set?

Я знаю что дляwillSet а такжеdidSetструктура выглядит так:

var variable1 : Int = 0 {
    didSet {
        println (variable1)
    }
    willSet(newValue) {
    ..
    }
}

var variable2: Int {
    get {
        return variable2
    }
    set (newValue){
    }
}

Ответы на вопрос(4)

Ваш ответ на вопрос