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?
Réponses
Trop de publicités?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.
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.