公式の英文資料を読んでもいまいち理解できなかった(英語が読めなかった)のでいろいろ試してみる事にしました。 Xcode6 beta5 + Playground 更新: 2015/03/06, Xcode6.3 beta3, Playground 基本的な使い方 ストアド・プロパティにwillSetとdidSetを仕掛ける事で、プロパティの変更前/後で何か処理を書く事ができます。 (※グローバル変数やローカル変数にも仕掛ける事ができます。) class Person { var age: Int = 0 { willSet { println("age willSet:\(age) -> \(newValue)") } didSet { println("age didSet :\(oldValue) -> \(age)") } } } let p = Person() p.age = 20
![Swiftのプロパティ監視(willSet/didSet)の挙動について調べてみた - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/c6d5defffc6ad5f475e42b76a47f5d7d75cc5c56/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9U3dpZnQlRTMlODElQUUlRTMlODMlOTclRTMlODMlQUQlRTMlODMlOTElRTMlODMlODYlRTMlODIlQTMlRTclOUIlQTMlRTglQTYlOTYlMjh3aWxsU2V0JTJGZGlkU2V0JTI5JUUzJTgxJUFFJUU2JThDJTk5JUU1JThCJTk1JUUzJTgxJUFCJUUzJTgxJUE0JUUzJTgxJTg0JUUzJTgxJUE2JUU4JUFBJUJGJUUzJTgxJUI5JUUzJTgxJUE2JUUzJTgxJUJGJUUzJTgxJTlGJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz05MDY2NTk5ZGRkMTVlZGEzOGExMTM5YTEzMDI5NDNlZQ%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwdGFrYWJvc29mdCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YTI0Y2U0OTIwMTBhMDhmZTlhMGU2MmM4OGJjOTM5YjY%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dd78ba2e533d93320b3057af4404d52e5)