2 votes

Comment créer une vue de tableau de section qui dépend des données de la vue de tableau sur iPhone?

Je veux créer une vue de tableau sectionnée. En utilisant l'analyse XML, j'ai obtenu les données et les ai affichées dans la vue de tableau. Maintenant, je veux vérifier si les données sont vides, alors il ne devrait pas créer la section de la vue de tableau. Donc je veux le vérifier avant de créer la vue de tableau. Cela signifie que si les données ne sont pas vides, il devrait créer une section, sinon il ne peut pas créer de section. Donc la section de la vue de tableau dépend uniquement des données (Vide ou non).

Voici mon code d'exemple,

 person = [[Person alloc] initWithPersonName:ValeurDuDictionnaire]; // Passage des valeurs via le dictionnaire.
 [self.navigationController pushViewController:person animated:YES];

Dans la Classe Person :

-(Person *) initWithPersonName:(NSMutableDictionary *) personDict  
{
  self.tableView.delegate = self;

      [[NSBundle mainBundle] loadNibNamed:@"Personne" owner:self options:nil];

       NSString *prénom = [personDict valueForKey:@"prénom"];

       NSString *nomDeFamille = [personDict valueForKey:@"nomDeFamille"];

       NSString *nomDeVille = [personDict valueForKey:@"ville"];

       NSString *nomD'État = [personDict valueForKey:@"état"];

       return self;
 }

Je veux créer les deux sections,

                  section - 1 -- > [prénom, nomDeFamille];
                  section - 2 -- > [ville, état];

Comment puis-je mettre ces valeurs de section dans les tableaux. Est-il possible de créer un seul tableau pour utiliser les deux sections ou faut-il créer un tableau séparé pour stocker les sections séparées.

Supposons que je reçoive une valeur vide pour une donnée, alors il ne devrait pas créer de section de vue de tableau. Quelles sont les possibilités pour y parvenir? S'il vous plaît, guidez-moi.

Merci.

0voto

codykrieger Points 1318

Vous devez mettre en œuvre - numberOfSectionsInTableView:, - tableView: titleForHeaderInSection: et - tableView: numberOfRowsInSection: dans votre sous-classe UITableViewController (créez-en une si vous n'en avez pas encore). Les noms sont assez explicites. Vous pouvez donc faire quelque chose comme :

- (NSInteger) numberOfSectionsInTableView:(UITableView *) tableView {
    return 2;
}

- (NSString *) tableView:(UITableView *) tableView titleForHeaderInSection:(NSInteger)section {

    if (section == 0) return @"Titre de la section 1";
    if (section == 1) return @"Titre de la section 2";
}

- (NSInteger) tableView:(UITableView *) tableView numberOfRowsInSection:(NSInteger) section {
    // retourner le nombre de lignes en fonction de l'index de section
}

Je crois que cela créera les en-têtes de section quel que soit le nombre de lignes qu'elles contiennent ou non, mais rien ne s'affichera en dessous. Il sera donc clair qu'une section est vide si elle ne contient pas de données. Vous me suivez ?

Cody

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X