iPhone开发 - 使用NSPredicate从CoreData检索最近添加的记录

时间:2010-04-06 05:20:29

标签: iphone core-data nspredicate

我想从CoreData中检索最近添加的记录。我想知道是否可以使用NSPredicate?如果是这样,怎么样?

e.g。我在部门和员工之间有一对多的关系,我想获取最近雇用的员工记录。 Staff表有一个可以使用的日期字段。

我不想获取所有员工记录,然后寻找合适的记录。请注意,CoreData将相关记录存储在NSSet中。

1 个答案:

答案 0 :(得分:5)

我不认为谓词会在这里做你所要求的。相反,您可以执行的操作是获取具有排序描述符集的单个记录,以按降序对日期进行排序。您需要修改获取请求以包含以下内容:

NSSortDescriptor *dateSort = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:NO];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:dateSort]];
[fetchRequest setFetchLimit:1];

这应该会为您提供具有最新日期属性的Staff对象。请注意,如果您使用的是SQLite存储,那么排序将在SQLite层完成,并且只获取单个结果。