Core Dataを使ったアプリケーションをつくる際、データを日付順にソートすることはよくあると思う。そのためにエンティティに created_atや updated_atといった属性を追加するが、エンティティのinsertのたびにcreated_atを自分で登録するのは面倒臭い。
ので、これを自動化する方法。
まずデータモデルの編集。 created_at属性を追加
次にデータモデルインスペクタを開き、Classのところにエンティティが相当するNSManagedObjectのサブクラス(この場合AlbumEntity)を入れる
最後にAlbumEntityの実装の中で以下のような初期化メソッドを追加
- (void)awakeFromInsert {
[super awakeFromInsert];
self.created_at = [NSDate date];
self.updated_at = self.created_at;
}