我想从CoreData中检索最近添加的记录。我想知道是否可以使用NSPredicate?如果是这样,怎么样?
e.g。我在部门和员工之间有一对多的关系,我想获取最近雇用的员工记录。 Staff表有一个可以使用的日期字段。
我不想获取所有员工记录,然后寻找合适的记录。请注意,CoreData将相关记录存储在NSSet中。
答案 0 :(得分:5)
我不认为谓词会在这里做你所要求的。相反,您可以执行的操作是获取具有排序描述符集的单个记录,以按降序对日期进行排序。您需要修改获取请求以包含以下内容:
NSSortDescriptor *dateSort = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:NO];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:dateSort]];
[fetchRequest setFetchLimit:1];
这应该会为您提供具有最新日期属性的Staff对象。请注意,如果您使用的是SQLite存储,那么排序将在SQLite层完成,并且只获取单个结果。