Как установить изображение для UIImageView, которое содержится в NSMutableArray? - PullRequest
0 голосов
/ 22 ноября 2011

У меня есть NSMutableArray, содержащий UIImageViews, и NSArray, содержащий UIImage. Массивы имеют одинаковый размер. Мне нужно установить изображения из второго массива в первый. Было бы очень удобно реализовать это в цикле, что-то вроде:

for (int i = 0;i < firstArray.count;i++)
  [firstArray objectAtIndex:i].image = [secondArray objectAtIndex:i];

но это не компилируется. В нем указано «Свойство» image », не найденное в объекте типа« id ». Возможно ли как-то реализовать его в цикле?

Ответы [ 2 ]

3 голосов
/ 22 ноября 2011

Вам необходимо привести тип id к типу UIImageView, прежде чем обращаться к свойствам в нем.Используйте следующее ...

for (int i = 0;i < firstArray.count;i++)
  ((UIImageView *)[firstArray objectAtIndex:i]).image = [secondArray objectAtIndex:i];
1 голос
/ 23 ноября 2011

В качестве альтернативы, если сложение всех этих круглых скобок затрудняет чтение, (лично это привлекает мое внимание) вы можете сделать:

UIImageView *imageView = nil;

for (int i = 0;i < firstArray.count;i++) {
   imageView = [firstArray objectAtIndex:i];
   imageView.image = [secondArray objectAtIndex:i];
}

OR

for (int i = 0;i < firstArray.count;i++)
    [[firstArray objectAtIndex:i] setImage:[secondArray objectAtIndex:i]];
...