Comment itérer sur un dictionnaire sans connaître les clés, tout en obtenant la clé et de l'objet?

StackOverflow https://stackoverflow.com/questions/3064933

  •  28-09-2019
  •  | 
  •  

Question

J'ai un NSDictionary et que vous souhaitez parcourir les objets. Mais en même temps, je dois connaître la clé du dictionnaire.

Je me souviens qu'il y avait un spécial, sous forme de fantaisie de l'énumération rapide, mais vous avez oublié la syntaxe exacte.

Tout le monde?

Était-ce utile?

La solution

Je pense que ce que vous voulez est quelque chose comme ceci:

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

ici .

Autres conseils

Ceci est également un bon choix si vous aimez blocs.

[dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {

}]
for (id key in mydictionary) {
   id mything = [mydictionary objectForKey:key];
}

A ma connaissance, au moment où vous avez posé la question, il n'y avait qu'une seule façon de traverser les clés et les valeurs en même temps: CFDictionaryApplyFunction .

Cette fonction de base Foundation implique un pointeur de fonction laid C pour le corps de la boucle et beaucoup de non moins laid, mais le numéro sans frais ponté coulée.

@zekel a façon moderne de itérer un dictionnaire. Votez lui up!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top