Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

swiftだと簡単にプロパティの監視が出来る件

The Swift Programming Language: Propertiesより

これは簡単でびっくりだ。C#のPropertyChangedよりもイケてる仕組みだと思う。

class StepCounter {
    var totalSteps: Int = 0 {
        willSet(newTotalSteps) {
            println("About to set totalSteps to \(newTotalSteps)")
        }
        didSet {
            if totalSteps > oldValue  {
                println("Added \(totalSteps - oldValue) steps")
            }
        }
    }
}
let stepCounter = StepCounter()
stepCounter.totalSteps = 200
stepCounter.totalSteps = 300

willSetってのは値がセットされる前に呼ばれる。didSetは値をセットした直後に呼ばれる。didSetしたらCallBackを呼び出すとかしちゃえば、簡単にObserverパターンが実装できる。イイね。