Quiero pedir primero un NSFetchRequest
por fecha y luego, si coincide con el mismo día, ordenar por nombre. utilizo un UIDatePicker
para obtener la fecha y la salvo a ella usando la base de datosOrdenar NSFetchRequest por fecha y luego por orden alfabético
[self.managedObject setValue:self.datePicker.date forKey:self.keypath];
y ordenar los NSFetchRequest
así:
NSSortDescriptor *sortDescriptor1 = [[NSSortDescriptor alloc] initWithKey:@"day" ascending:NO];
NSSortDescriptor *sortDescriptor2 = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor1, sortDescriptor2, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
Ahora mi problema es que sólo ser ordenada por fecha y no por nombre porque el UIDatePicker
almacenó en Core Data la fecha pero también la hora. Entonces, incluso si el mismo día, no ordena por "nombre" en ese mismo día porque la hora es diferente. Entonces, ¿cómo guardo en los datos básicos solo la fecha mm/dd/aaaa y no de hora desde un UIDatePicker
?
¿O piensa en otra solución?
Debe eliminar el tiempo de la fecha. http://stackoverflow.com/questions/4187478/truncate-nsdate-objective-c –
¿necesita la información de tiempo para cualquier otra cosa? De lo contrario, podría establecer los componentes de tiempo en 0 cuando configure la hora del objeto de datos del núcleo. Si lo necesita, debe agregar otro atributo que use NSDate sin componentes de tiempo o una cadena aaaammdd. –