Pregunta

Tengo un "evento" Entity que contiene un atributo NSDate llamado "AccidentDate". Estoy tratando de hacer una solicitud de búsqueda para agarrar sólo el más reciente 'AccidentDate', pero no estoy seguro de cómo configurar el predicado para agarrar sólo el último 'AccidentDate'

A continuación se muestra el código hasta ahora ...

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];

Cualquier ayuda sería muy apreciada. Gracias

¿Fue útil?

Solución

Se puede aplicar un conjunto de descriptores ordenar directamente a la NSFetchRequest y se puede establecer aún más su límite de ir a buscar a 1. Esto crea el siguiente código:

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;

Otros consejos

Me gustaría ir a buscar todos los partidos ordenados por AccidentDate sin predicado y agarrar el primero de la serie.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top