如何使用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]; 

希望有所帮助。