2012年12月15日土曜日

NSManagedObject の modifiedAt を auto update する

Core Data で各オブジェクトを保存する際に更新時間を自動で更新させる方法の紹介です。

NSManagedObject を継承した基本クラスの作成

ベースとなる基本クラスを作成しこのクラスに日付のプロパティを追加する。


保存前に createdAt と modifiedAt への代入

保存を行うと保存を行う前に willSave が呼び出されるので、ここで createdAt / modifiedAt に現在時刻の代入を行う。



ただし、これだと保存時に毎回 createdAt / modifiedAt が保存されてしまうので、createdAt は初回のみとし modifiedAt はプロパティに変更があった時のみ行うようにする。



ちなみに、setPrimitiveValue を使っている理由は今のところ把握していない。詳しくは調べていないのだけれども setPrimitiveValue メソッドを使って値を代入する必要があるようだった。

0 件のコメント:

コメントを投稿