KVOって何? KVOというものは簡単に言うと、プロパティーの値の変化を通知してくれる仕組みのことです。 使い方 初めは難しいかもしれないですが、実際に使ってみると簡単です。 まずはコードから import Foundation class Person: NSObject { var my = My() let keyName = "level" override init() { super.init() my.addObserver(self, forKeyPath: keyName, options: [.New, .Old], context: nil) my.level += 2 // 1回目の変更 my.level += 7 // 2回目の変更 } deinit { my.removeObserver(self, forKeyPath: keyName) } override