заполнение массива изображениями из файла plist - PullRequest
0 голосов
/ 07 января 2011

Я пытаюсь создать массив объектов (animalImages) из файла plist, который содержит имена изображений, которые нужно извлечь из папки ресурсов. Я пытался использовать цикл for для добавления каждого изображения по отдельности, но как-то затерялся в логике. Вот что у меня есть:

NSString *images = [[NSBundle mainBundle] pathForResource:@"images" ofType:@"plist"]; //string with resource path            

animalImageNames = [[NSMutableArray alloc] initWithContentsOfFile:images]; //array with file names

int i;
int j = 10;

for (i=0; i <=j; i++) {
animalImages = [[NSArray alloc] initWithObjects:        
                [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"%@.png",[animalImageNames objectAtIndex:i]]]];
}

Я предполагаю, что, вероятно, собираюсь ударить по голове, как только получу ответ, но я просто запутался в порядке операций в разделе initWithImage этого кода.

1 Ответ

4 голосов
/ 07 января 2011

NSString *images = [[NSBundle mainBundle] pathForResource:@"images" ofType:@"plist"];

// need the names for just now. creating an autoreleased one
// and no need to be mutable
NSArray *animalImageNames = [NSArray arrayWithContentsOfFile:images];

// this array will contain the images
// need to release this when you are done
NSMutableArray *animalImages = [[NSMutableArray alloc] init];   

// loop through all names from the plist and add image to the array
for (NSInteger i = 0; i &lt; [animalImageNames count]; i++) {
    NSString *name = [animalImageNames objectAtIndex:i];
    [animalImages addObject:[UIImage imageNamed:[NSString stringWithFormat:@"%@.png", name]]];
}

Возможны незначительные ошибки, поскольку я не скомпилировал код

...