55 votes

Accès aux objets dans NSMutableDictionary par index

Pour afficher les clés / valeurs d'un NSMutableDictionary de manière séquentielle (dans une table), je dois y accéder par index. Si l'accès par index pouvait donner la clé à cet index, je pourrais obtenir la valeur. Y a-t-il un moyen de faire cela ou une technique différente?

122voto

Benno Points 3677

Vous pouvez obtenir un tableau NSArray contenant les clés de l'objet à l'aide de la méthode allKeys. Vous pouvez ensuite examiner cela par index. Notez que l'ordre dans lequel les clés apparaissent dans le tableau est inconnu. Exemple:

 NSMutableDictionary *dict;

/* Create the dictionary. */

NSArray *keys = [dict allKeys];
id aKey = [keys objectAtIndex:0];
id anObject = [dict objectForKey:aKey];
 

EDIT: En fait, si je comprends ce que vous essayez de faire, vous le faites facilement en utilisant une énumération rapide, par exemple:

 NSMutableDictionary *dict;

/* Put stuff in dictionary. */

for (id key in dict) {
    id anObject = [dict objectForKey:key];
    /* Do something with anObject. */
}
 

EDIT: correction d'une faute de frappe signalée par Marco.

9voto

newacct Points 42530

vous pouvez obtenir un tableau de toutes les clés avec la méthode allKeys du dictionnaire; et alors vous pouvez accéder au tableau par index. Cependant, un dictionnaire en lui-même n'a pas d'ordonnancement inhérent, donc l'ordre des clés que vous obtenez avant et après une modification du dictionnaire peut être complètement différent.

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