J'ai travaillé sur un projet iphone et j'ai eu un problème. Actuellement Dans la vue tableau où il affiche tous les objets, j'utilise des en-têtes basés sur le champ datePerformed des objets. Le seul problème est que mon code crée apparemment un en-tête qui contient à la fois la date et l'heure, ce qui fait que les objets ne sont pas regroupés uniquement selon leur date, mais plutôt en fonction de leur date et heure. Je ne sais pas si c'est important, mais quand un objet est créé, j'utilise un sélecteur de date pour choisir la date, mais pas l'heure. Je me demandais si quelqu'un pouvait me donner des suggestions ou des conseils.Utilisation d'une date d'objet (sans heure) pour un en-tête de table au lieu d'un objet date et heure?
Voici le code où je mis le fetchedResultsController
- (NSFetchedResultsController *)fetchedResultsController {
if (fetchedResultsController != nil) {
return fetchedResultsController;
}
// Create and configure a fetch request with the Exercise entity.
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Exercise" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
// Create the sort descriptors array using date and name
NSSortDescriptor *dateDescriptor = [[NSSortDescriptor alloc] initWithKey:@"datePerformed" ascending:NO];
NSSortDescriptor *nameDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:dateDescriptor, nameDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
// Create and initialize the fetch results controller
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:@"datePerformed" cacheName:@"Root"];
self.fetchedResultsController = aFetchedResultsController;
fetchedResultsController.delegate = self;
// Memory management calls
[aFetchedResultsController release];
[fetchRequest release];
[dateDescriptor release];
[nameDescriptor release];
[sortDescriptors release];
return fetchedResultsController;
}
est ici où je mis les propriétés d'en-tête de table:
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
// Display the exercise' date as section headings.
return [[[fetchedResultsController sections] objectAtIndex:section] name];
}
Toutes les suggestions sont les bienvenus.
Clarification: Que voulez-vous dire par les devraient être juste des dates mais elles sont à la fois des données et du temps? Après tout, toutes les dates sont des moments. Voulez-vous dire que vous seulement quoi montrer la date mais pas l'heure dans l'en-tête? – TechZen
http://imgur.com/RxB7N C'est actuellement ce à quoi il ressemble. Je le veux en-tête par date et non par date et heure. donc Auto Chea et BB Press doivent être regroupés sous 5-14-2010. Est-ce possible? – user341566