2

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

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

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

4

1 回答 1

5

我不认为谓词会做你在这里问的事情。相反,您可以做的是获取单个记录,其中排序描述符设置为按降序对日期进行排序。您需要修改获取请求以包含以下内容:

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

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

于 2010-04-06T05:36:59.930 回答