Ошибка: объект переменного размера не может быть инициализирован. Но почему? - PullRequest
0 голосов
/ 01 июля 2011
enter code hereint quantity = [array count];
int i;
for (i=0; i<quantity; i++) 
{
    NSString *imageName = [NSString stringWithFormat:@"Car_%@.jpg",  [[array objectAtIndex:i] objectForKey:@"CarName"]]   ];
    UIImage *img[i] = [UIImage imageNamed:imageName];
    UIImageView *imgView[i] = [[UIImageView alloc] initWithImage:img[i]];
    imgView[i].frame = CGRectMake(i*kWidth, 0, kWidth, kHeight);
    [scrollView addSubview:imgView[i]];
    [imgView[i] release];
}`enter code here`

Ошибка: объект переменного размера не может быть инициализирован.Но почему?

Ответы [ 2 ]

2 голосов
/ 01 июля 2011
UIImage *img[i] = [UIImage imageNamed:imageName];

Это объявляет массив в стиле C размером i и пытается инициализировать его экземпляром UIImage. Это не имеет смысла. Что ты пытаешься сделать? Где остальная часть вашего кода?

Edit:

Хорошо, я думаю, что вижу, что вы делаете. Просто избавьтесь от всех мест, которые у вас есть [i]. Внутри цикла вы имеете дело только с одним элементом за раз, и даже если вы этого не сделали, вы не используете массивы.

1 голос
/ 01 июля 2011

Вы можете попробовать это:

int i;
for (i=0; i<quantity; i++) 
{
    NSString *imageName = [NSString stringWithFormat:@"Car_%@.jpg",  [[array objectAtIndex:i] objectForKey:@"CarName"]]   ];
    UIImage *img = [UIImage imageNamed:imageName];
    UIImageView *imgView = [[UIImageView alloc] initWithImage:img];
    imgView.frame = CGRectMake(i*kWidth, 0, kWidth, kHeight);
    [scrollView addSubview:imgView];
    [imgView release];
}

Вам не нужно использовать img [i], чтобы заполнить вид прокрутки с помощью UIImageView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...