我正在尝试搜索我的核心数据数据库,返回一组非常具体的记录。
我的模型看起来像这样:
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条记录)。