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`
错误:可能无法初始化可变大小的对象。但为什么呢?
答案 0 :(得分:2)
UIImage *img[i] = [UIImage imageNamed:imageName];
这声明了一个大小为i
的C样式数组,并尝试使用UIImage
实例对其进行初始化。这没有意义。你想做什么?你的其余代码在哪里?
编辑:
好的,我想我明白你在做什么。摆脱你拥有的所有地方[i]
。在循环内部,你一次只处理一个项目,即使你不是,也不是你使用数组的方式。
答案 1 :(得分:1)
你可能想试试这个:
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填充滚动视图。