我试图寻找我的核心数据的数据库,并返回一个非常具体的记录集。复杂的核心数据搜索
我的模型看起来是这样的:
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
。我担心整个数据库加载到一个NSArray
因为它可能是非常大(> 10,000条记录)。