如何使用CoreData检索列中最后插入的值?
在我的CoreData应用程序中,我想显示Table
Student中插入的最后一个stdId
。 有没有简单的方法来检索列中最后插入的值?
这很简单,如果你的Student
实体中添加了类似NSDate
的属性像createdAt
。
当你插入一个新的Student
,你需要传递该属性的当前date。
[aStudent setValue:[NSDate date] forKey:@"createdAt"];
要么
aStudent.createdAt = [NSDate date];
如果你已经创build了Entity
的子类。
一旦完成,您可以使用1的限制和sorting描述符的升序值NO
来获取Student
。
NSFetchRequest* request = [NSFecthRequest fetchRequestWithEntityName:@"Student"]; [request setFetchLimit:1]; NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"createdAt" ascending:NO]; NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil]; [request setSortDescriptors:sortDescriptors]; NSError *error; NSArray *results = [context executeFetchRequest:request error:&error]; NSManagedObject *latestAddedStudent = [results objectAtIndex:0];
希望有所帮助。