Swift: как изменить значение свойства без вызова его функции didSet

Как вы можете установить значение свойства в Swift, не вызывая егоdidSet() функция вне контекста инициализации? Код ниже был неудачным экспериментом для достижения этого в классахnoside() функция

class Test
{
    var toggle : Bool = 0
    var hoodwink : Int = 0 {
        didSet(hoodwink)
        {
            toggle = !toggle
        }
    }

// failed attempt to set without a side effect

    func noside(newValue : Int)
    {
        hoodwink = newValue
        println("hoodwink: \(hoodwink) state: \(toggle)")
    }

    func withside(newValue : Int)
    {
        self.hoodwink = newValue
        println("hoodwink: \(hoodwink) state: \(toggle)")
    }
}

Это довольно просто сделать в Objective-C с автоматически синтезированными свойствами:

С побочным эффектом (если присутствует в сеттере):

self.hoodwink = newValue;

Без побочных эффектов:

_hoodwink = newValue;

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

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