J'essaie de remplir un NSArray avec une collection d'images dans les ressources. Cependant, pour une flexibilité maximale, j'essaie d'éviter de coder en dur les noms de fichiers ou même combien de fichiers il y a.Comment énumérer et charger des ressources dans une application iPhone?
Normalement, je ferais quelque chose comme cet exemple de l'exemple de code à la pomme:
kNumImages = 5; //or whatever
NSMutableArray *images;
for (i = 1; i <= kNumImages; i++)
{
NSString *imageName = [NSString stringWithFormat:@"image%d.jpg", i];
[images addObject:[UIImage imageNamed:imageName];
}
Cependant, je suis en train d'éviter tout kNumImages. Existe-t-il un moyen d'exécuter une regex ou quelque chose sur les ressources?
Que faire si j'ai des types d'images mixtes? Ils auront tous des noms comme image # .ext, mais ext peut varier. – Sam
Oh, je pense avoir une réponse à cela: paths = [[NSBundle mainBundle] pathsForResourcesOfType: nil inDirectory: nil]; puis filtrez ceux que je ne veux pas dans la boucle for. – Sam
Si vous passez nil en tant que chaîne d'extension, il renverra tous les fichiers, dont vous pourrez ensuite tester les noms à partir de là. Mais cela peut avoir des problèmes de performance en fonction de ce que vous faites et du nombre de fichiers que vous avez. Ou vous pouvez utiliser 2 boucles, une pour chaque type d'extension. –