Comment itérer sur un dictionnaire sans connaître les clés, tout en obtenant la clé et de l'objet?
-
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?
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!