Objective-C にあった addObserver:forKeyPath:options:context:
+ observeValueForKeyPath:ofObject:change:context:
のような仕組みは Swift では言語レベルで用意されています。
つまりは、プロパティの変更前後に処理を入れることができます。
プロパティで値を受け取った時に、渡された値を加工して保持するわけでないのなら、Observer を使いましょう。
var name: String { willSet { println("name: \(self.name)") println("name が \(oldValue) から \(newValue) に変更されようとしています。") } didSet { println("name: \(self.name)") println("name が \(oldValue) から \(newValue) に変更されました。") } }
詳細!Swift 4 iPhoneアプリ開発 入門ノート Swift 4+Xcode 9対応
- 作者: 大重美幸
- 出版社/メーカー: ソーテック社
- メディア: Kindle版
- この商品を含むブログを見る
- 作者: 荻原剛志
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2017/12/26
- メディア: Kindle版
- この商品を含むブログを見る