我有一个Entity
“事件”,其中包含一个名为“AccidentDate”的NSDate
属性。我正在尝试执行获取请求以仅获取最新的“AccidentDate”,但我不确定如何设置谓词以仅获取最后一次'AccidentDate'
以下是我的代码......
NSFetchRequest *fetchRequest1 = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:self.managedObjectContext];
[fetchRequest1 setEntity:entity];
NSPredicate *predicate; //unknown code here
[fetchRequest1 setPredicate:predicate];
NSArray *items = [self.managedObjectContext executeFetchRequest:fetchRequest1 error:&error];
[fetchRequest1 release];
非常感谢任何帮助。感谢
答案 0 :(得分:1)
您可以直接将排序描述符数组应用于NSFetchRequest
,并且可以进一步将其提取限制设置为1.这将创建以下代码:
NSFetchRequest *fetchRequest1 = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:[self managedObjectContext]];
[fetchRequest1 setEntity:entity];
NSSortDescriptor *dateSort = [[NSSortDescriptor alloc] initWithKey:@"accidentDate" ascending:NO];
[fetchRequest1 setSortDescriptors:[NSArray arrayWithObject:dateSort]];
[dateSort release], dateSort = nil;
[fetchRequest1 setFetchLimit:1];
NSManagedObject *latest = [[[self managedObjectContext] executeFetchRequest:fetchRequest1 error:&error] lastObject];
[fetchRequest1 release], fetchRequest1 = nil;
答案 1 :(得分:0)
我将获取由AccidentDate排序的所有事件,没有谓词,并从数组中获取第一个事件。