プロパティを監視して、変更があった場合にイベントを受け取る仕組みがSwiftにはあって、Key Value Observing(KVO)と呼ぶらしい。
監視対象に自身を登録
hoge.addObserver(self, forKeyPath: "name", options: .New, context: nil)
プロパティ変更ハンドラ
override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
// ここで処理を行う
}
監視を削除
hoge.removeObserver(self, forKeyPath: "name")
jsなどのaddEventListenerと使い方は似ています