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