Core Data データベースを検索しようとしていますが、非常に具体的なレコードのセットが返されます。
私のモデルは次のようになります。
firstName (NSString)
lastName (NSString)
dateOfBirth (NSDate)
updatedAt (NSDate)
weight (NSNumber)
height (NSNumber)
firstName
一意の 、lastName
、および値を持つユーザーのリストを取得したいのですがdateOfBirth
、これらの各ユーザーの最新の値を持つ完全なレコードのみを返しupdatedAt
ます。
したがって、次のようなデータベースの場合:
firstName: Jim, lastName: Brown, dateOfBirth: 1/1/2012, updatedAt: 1/1/2012, weight: 100, height: 100
firstName: Jim, lastName: Brown, dateOfBirth: 1/1/2012, updatedAt: 2/1/2012, weight: 120, height: 100
firstName: Joe, lastName: Smith, dateOfBirth: 1/1/2012, updatedAt: 1/1/2012, weight: 100, height: 100
firstName: Joe, lastName: Smith, dateOfBirth: 2/1/2012, updatedAt: 1/1/2012, weight: 100, height: 100
私は配列を取得します:
firstName: Jim, lastName: Brown, dateOfBirth: 1/1/2012, updatedAt: 2/1/2012, weight: 120, height: 100
firstName: Joe, lastName: Smith, dateOfBirth: 1/1/2012, updatedAt: 1/1/2012, weight: 100, height: 100
firstName: Joe, lastName: Smith, dateOfBirth: 2/1/2012, updatedAt: 1/1/2012, weight: 100, height: 100
さまざまなフィルタリング操作を実行できることはわかっていますが、これに役立つ「ショートカット」があるかどうか疑問に思っていました。[fetchRequest setReturnsDistinctResults:YES]
値を取得することに興味がない場合は使用できますが、フェッチするプロパティupdatedAt
に含めると、基本的にすべてのレコードが返されます。データベース全体が非常に大きくなる可能性がupdatedAt
あるため (> 10,000 レコード)、データベース全体をロードすることを心配しています。NSArray