変数でもプロパティでも書き方は変わらない
Sample
var piyo: String = "hoge" {
willSet{
NSLog("now:%@", piyo) // set 前の値
NSLog("new:%@", newValue) // set 予定の値
}
didSet{
NSLog("now:%@", piyo) // set 後の値
NSLog("old:%@", oldValue) // set 前の値
}
}
piyo = "fuga" // piyo を書き換える
実行結果
// willSet
now:hoge
new:fuga
// didSet
now:fuga
old:hoge
willSet
willSet
は実際に値が set される前に呼ばれる、willSet
内では変数名(プロパティ名)で現在の値に、newValue
で新しくセットされる予定の値にアクセスする事が出来る。
didSet
didSet
は値が set された後に呼ばれる、didSet
内では変数名(プロパティ名)で set 後の値に、oldValue
で set される前の値にアクセスする事が出来る。