Comment obtenir NSDictionary des données dans une UITableView

J'ai 2 NSArrays que je suis en train de lier dans un NSDictionary, de sorte que chaque providerName a un providerId associés.

J'attend les deux tableaux associés à chacun des autres à l'aide de self.providersDict = [NSDictionary dictionaryWithObjects:providerName forKeys:providerId]; et puis le providerName l'affichage de la cellule du tableau le titre et l'id de la cellule du tableau des sous-titres.

Pour le moment, je ne peux pas obtenir les données affichées sur le UITable ou même de déconnecter le dictionnaire à l'aide de:

   for (id key in self.providersDict) {
    NSLog(@"key: %@, value: %@", key, [self.providersDict objectForKey:key]);
}

déclaré dans le .h:

NSArray *providerName;
NSArray *providerId;

@property (nonatomic, strong) NSDictionary *providersDict;

et dans le viewDidLoad:

    providerName = [NSArray arrayWithObjects:@"provider1", @"provider2", @"provider3", nil];
    providerId = [NSArray arrayWithObjects:@"1", @"2", @"3", nil];

    self.providersDict = [NSDictionary dictionaryWithObjects:providerName
                                                           forKeys:providerId];

la UITable méthodes:

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [[self.providersDict allKeys] count];
}


-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{



 static NSString *unifiedID = @"aCellID";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:unifiedID];
    if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:unifiedID];

}

for (id key in self.providersDict) {
    NSLog(@"key: %@, value: %@", key, [self.providersDict objectForKey:key]);
}

NSString *providerNameString = [self.providersDict objectForKey:@"provider"];
NSString *providerIdString = [self.providersDict objectForKey:@"object"];
cell.textLabel.text  = providerNameString;
cell.detailTextLabel.text  = providerIdString;


return cell;

}

merci pour l'aide.

  • Quel est votre besoin ? Pourriez-vous svp m'expliquer ?
  • Je pensais que le ci-dessus serait de travailler. J'attend les deux tableaux afin d'être associés les uns avec les autres au moyen de l'auto.providersDict = [NSDictionary dictionaryWithObjects:providerName forKeys:providerId]; puis le providerName l'affichage de la cellule du tableau le titre et l'id de la cellule du tableau des sous-titres. le nslog instruction de ne pas exécuter. Je ne sais pas pourquoi.
  • Je suppose que il n'y a pas de clé nommée "objet" et "fournisseur" dans votre providersDict , les touches sont 1,2,3 ? et tu ne peux pas énumérer dictionnaire que vous êtes en train de faire pour les journaux....
  • Je pense que vos clés et des valeurs dans le dictionnaire sont interchangeables. Vérifier que.
  • Avez-vous mis le délégué pour tableView? Je ne pense pas que votre délégué méthodes sont appelé
InformationsquelleAutor hanumanDev | 2013-03-06