Partage
  • Partager sur Facebook
  • Partager sur Twitter

[iOS] FetchRequest et TableView

insérez le résultat d'un fetchrequest dans une tableview

    20 juillet 2012 à 17:24:55

    Bonjour,

    Je débute en Objective-C et j'attaque en ce moment le Core Data mais j'ai un petit problème que je n'arrive pas à résoudre :

    J'ai un Core Data qui me permet de stocker des classes et des élèves. Quand je clique sur une classe je veux avoir la liste des élèves qui appartiennent à cette classe, j'ai donc la requête suivante dans mon viewDidLoad de Eleve.m :

    - (void)viewDidLoad
    {    
        NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
        NSEntityDescription *entity = [NSEntityDescription entityForName:@"DataEleve" inManagedObjectContext:self.managedObjectContext];
        [fetchRequest setEntity:entity];
        
    
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"nomClasseEleve == %@",nomClasse];
        [fetchRequest setPredicate:predicate];
        
        NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"nomEleve" ascending:YES];
        NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
        [fetchRequest setSortDescriptors:sortDescriptors];
        
        NSError *error;
        eleve = [[self.managedObjectContext executeFetchRequest:fetchRequest error:&error] mutableCopy];
        
        NSLog(@"Resultat : %@", eleve);
        [super viewDidLoad];
    }
    


    Mais je n'arrive pas à afficher le résultat de cette requête dans mon tableView, j'utilise la méthode du tutoriel du SdZ :

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        static NSString *CellIdentifier = @"Eleve Cell";
        
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        }
        
        // Configure the cell...
        
        NSString *eleves = [self->eleve objectAtIndex:indexPath.row];
    	cell.textLabel.text = eleves;
        
        return cell;
    }
    


    Après des tests avec NSLog j'en ai conclu que mon problème venait du "Configure the Cell ..." mais je n'arrive pas à localiser la source de mon problème.

    Merci d'avance pour votre aide :)
    • Partager sur Facebook
    • Partager sur Twitter
      26 juillet 2012 à 5:31:10

      Est-ce que récupères les bonnes valeurs de ton coreData (eleve)?
      Tu as fais un NSLog de eleve?
      • Partager sur Facebook
      • Partager sur Twitter

      [iOS] FetchRequest et TableView

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown