iPhone Dev Вопрос Помощь Формирование массива - PullRequest
0 голосов
/ 18 января 2010

Я провел это утро в поисках Google, но я просто не могу получить то, что хочу, как я хочу.

Я создаю настраиваемую ячейку табличного представления с различными значками сбоку в секционированном табличном представлении. Моя проблема в том, что у меня проблемы с чтением этих изображений из массива. Я могу сделать это, как показано ниже, но может кто-нибудь, пожалуйста, помогите мне сделать это из массива.

Рабочий длинный код формы:

switch (indexPath.row) {
    case 0:
    imageView2.image = [UIImage imageNamed:@"ico-company.png"]; break;
    case 1:
    imageView2.image = [UIImage imageNamed:@"ico-value.png"];
    case 2:
    imageView2.image = [UIImage imageNamed:@"ico-date.png"]; break;
    case 3:
    imageView2.image = [UIImage imageNamed:@"ico-notes.png"];break;
    default:
    break;
    }

И я думаю, что смогу заставить его выглядеть примерно так:

Не работает код, как я хочу

   arryImages = [[NSMutableArray alloc] init];
    arryImages = [NSArray arrayWithObjects:
             [UIImage imageNamed: @"ico-company.png"],
                 [UIImage imageNamed: @"ico-value.png"],
                 [UIImage imageNamed: @"ico-date.png"],
                 [UIImage imageNamed: @"ico-notes.png"], nil];

    imageView2.image = [UIImage imageWithContentsOfFile:[arryImages objectAtIndex:[indexPath row]]];

И это ошибка, которую я получаю, когда пытаюсь использовать код массива:

2010-01-18 13:20:47.314 SQL[60921:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[UIImage length]: unrecognized selector sent to instance 0x39135c0'

Привет

1 Ответ

4 голосов
/ 18 января 2010

Ваша последняя строка должна быть:

imageView2.image = [arryImages objectAtIndex:[indexPath row]];

(в вашем коде вы передаете объект изображения в imageWithContentsOfFile, но этот метод ожидает имя файла, а не объект изображения)

...