J'ai un NSArray de NSDictionaries. J'ai besoin de vérifier s'il y a au moins une occurrence d'un objet pour une clé du NSDictionary dans NSArray. Je le fais en utilisantMeilleure alternative pour vérifier l'existence de la clé de NSDictionary dans NSArray?
int i;
for (i=0;i< [myArray count];i++)
{
if ([[[myArray objectAtIndex: i] objectForKey: myKey] isEqualToString: myString]) {
found = YES;
break;
} else {
found = NO;
}
}
Mais je soupçonne qu'il ya une meilleure/alternative plus rapide pour elle ...
Merci
Merci. Je l'ai changé en -isEqualToString :. Eh bien, le tableau peut être infiniment long mais aura généralement moins de 10 objets. Les dictionnaires ont toujours 4 paires. Une chaîne vide (je pourrais la changer à zéro plus tard), une image, un chemin (aussi une chaîne) et une autre chaîne. Je suppose que ça ne vaut pas la peine d'utiliser autre chose comme ça si le nombre est faible. J'ai posé la question pour voir s'il y avait une méthode pour cela ou quelque chose comme ça. Il fonctionne bien sur un faible nombre. Les deux autres commentaires ont dit quelque chose au sujet de l'énumération rapide qui est propre à avoir. Merci encore. – Jef
Oui, il n'y a pas de structure de données miracle pour ce que vous voulez; vous obtenez juste des tableaux, des ensembles et des dictionnaires comme des blocs de construction. Si votre liste est généralement autour de 10 éléments, alors oui, iterating est essentiellement gratuit et vous n'avez pas besoin de complexifier les choses en faisant quelque chose de spécial. Votre implémentation est correcte et la syntaxe 'for..in' est un bon bonus. –