Как вы можете установить значение свойства в 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;