【问题标题】:How to retrieve the last inserted value in a column using CoreData?如何使用 CoreData 检索列中最后插入的值?
【发布时间】:2012-09-04 00:59:09
【问题描述】:

在我的 CoreData 应用程序中,我想在 Table Student 中显示最后插入的 stdId。有什么简单的方法可以检索列中最后插入的值吗?

【问题讨论】:

  • 很抱歉我的问题,但是...你确定CoreData 是如何工作的吗?

标签: iphone ios core-data


【解决方案1】:

如果在 Student 实体中添加 NSDate 类型的属性,例如 createdAt,这非常简单。

当您插入新的Student 时,您需要传递该属性的当前日期。

[aStudent setValue:[NSDate date] forKey:@"createdAt"];

aStudent.createdAt = [NSDate date];

如果您创建了Entity 的子类。

完成后,您可以使用限制为 1 和升序值 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];

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-30
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 2019-11-17
    • 1970-01-01
    • 2011-09-08
    • 1970-01-01
    相关资源
    最近更新 更多