#iphone #ios4
#iPhone #ios4
Вопрос:
Хорошо, я уверен, что есть простой способ сделать это, но я просто нигде не могу найти ответ.
У меня есть целая стопка изображений, которые мне нужно загрузить для нескольких разных UIImageView
анимаций. Я хочу, чтобы они загружались с использованием цикла, потому что их так много, но я не могу понять, как изолировать правильные изображения в пакете.
Итак, например, скажем, у меня есть 40 файлов изображений. Первые 13 называются с jack_1.png
точностью до jack_13.png
, следующие 16 вызываются с jill_1.png
точностью до jill_16.png
и 11 вызываются с hill_1.png
точностью до hill_11.png
.
Я хотел бы создать for/if
инструкцию, которая загружает все @"jack_%i.png"
файлы в массив on, все @"jill_%i.png"
файлы в другой массив и так далее.
Я надеюсь, что это имеет смысл.
Ответ №1:
Это код для массива jack, код для других будет таким же, но изменятся соответствующие фрагменты (ограничение в цикле и формат имени)
for (int i = 1; i <= 13; i ) {
[jackArray addObject:[UIImage imageNamed:[NSString stringWithFormat:@"jack_%d.png", i]]];
}
Комментарии:
1. ваш файл не добавляет jack_13.png 🙂
2. Спасибо arclight. Я был на том же пути, что и вы, с этим кодом, но я надеюсь, что может быть способ сделать это так, чтобы мне не нужно было знать, сколько изображений в каждой группе. Я пытался отсканировать имена файлов, но безуспешно? Ваше решение избавит меня от проблем, но было бы неплохо, если бы этот процесс был более автоматизирован.
Ответ №2:
Используйте imageNamed:
и stringWithFormat:
.. что-то вроде:
for(int i=1;i<=13;i )
{
[jackArray addObject:[UIImage imageNamed:[NSString stringWithFormat:@"jack_%d.png", i]]];
}
Я хотел бы добавить, что инициализация спама подобными изображениями, как правило, не является хорошей идеей для повышения производительности.