如何获取Core Data数据库的最后一条记录?

Spa*_*Dog 3 iphone core-data

我有一个名为images的核心数据实体,只有2个字段:

imageName = NSString
timeStamp = NSNumber
Run Code Online (Sandbox Code Playgroud)

我试图模拟一种堆栈LIFO(后进先出).插入新条目很简单但是读取添加到实体的最后一个条目呢?

所有图像都添加了时间戳,通过使用获得

time_t unixTime = (time_t) [[NSDate date] timeIntervalSince1970];
Run Code Online (Sandbox Code Playgroud)

一个整数,等于自1970年以来的秒数

那么,如何检索核心数据的最后插入记录(=具有最大时间戳编号的记录)???

谢谢

Chr*_*ble 23

执行获取请求,按结果对结果进行排序timeStamp.

NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
[request setEntity:...];

// Results should be in descending order of timeStamp.
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"timeStamp" ascending:NO];
[request setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];

NSArray *results = [managedObjectContext executeFetchRequest:request error:NULL];
Entity *latestEntity = [results objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)

您可能还想使用NSFetchRequest's 限制结果数setFetchLimit:.