このクラスのインスタンスを別クラスで更新した際の時間を覚えておこうと思うのですが、なにか良い方法はないでしょうか。

class Testdata: NSObject {
   var data1 = Data1()
   var data2 = Data2()

   class Data1 {
     dynamic var version: UInt8 = 0x10
     dynamic ver ・・・
   }
   class Data2 {
     dynamic var no: UInt8 = 0x100
     dynamic ver ・・・
   }
}


   var date: UInt64 = 0
   var data1 = Data1() {
       didSet {
           self.date = UInt64(NSDate().timeIntervalSince1970)
       }
   }
   var data2 = Data2() {
       didSet {
           self.date = UInt64(NSDate().timeIntervalSince1970)
       }
   }

上記でとれないか…と試してみたのですが、
data1.versionを書き換えてもdidSetが呼ばれることはありませんでした。
なにかいい方法はないのでしょうか。