Comment puis-je parcourir tous les objets d'un NSMutableDictionary quelles que soient les clés?
Une façon standard ressemblerait à ceci
for(id key in myDict) {
id value = [myDict objectForKey:key];
[value doStuff];
}
vous pouvez utiliser
[myDict enumerateKeysAndObjectsUsingBlock: ^(id key, id obj, BOOL *stop) {
// do something with key and obj
}];
si votre système d'exploitation cible prend en charge les blocs.
Vous pouvez utiliser [dict allValues]
pour obtenir un NSArray
de vos valeurs. Sachez qu'il ne garantit aucune commande entre les appels.
en dénombrement rapide
for(id key in myDictionary) {
id value = [myDictionary objectForKey:key];
// do something with key and obj
}
en blocs:
[myDictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
// do something with key and obj
}];
Vous n'avez pas besoin d'attribuer de valeur à une variable. Vous pouvez y accéder directement avec myDict[key]
.
for(id key in myDict) {
NSLog(@"Key:%@ Value:%@", key, myDict[key]);
}
Une autre façon consiste à utiliser l'énumérateur Dicts. Voici un exemple de code d'Apple:
NSEnumerator *enumerator = [myDictionary objectEnumerator];
id value;
while ((value = [enumerator nextObject])) {
/* code that acts on the dictionary’s values */
}