how do you select the entry with the max value in coredata?
例如,我有一个托管对象保存在coredata中,比如
@接口团队:NSManagedObject
@属性(非原子)nsnumber*teamid;
@结束
我已经成功地在coredata中保存了一些具有唯一teamid的团队,现在我想获取具有max teamid的团队,我该怎么做?
我曾经让所有的团队进行排序,但是这样做会带来很大的开销来生成提取的数组,有什么更好的主意吗?
使用
使用nsfetchrequests的
使用nsfetchrequest的
用户465 191,
我要做的是:
1 2 3 4 5 | NSNumber *max = [teams valueForKeyPath: @"@max.teamID"]; NSPredicate *p = [NSPredicate predicateWithFormat: @"%K == %@", @"teamID", max]; Team *team = [[teams filteredSetUsingPredicate: p] anyObject]; |
它比我想要的要笨重,但它确实有效。
安得烈