我正在尝试将UIImage
个对象添加到数组中,但它们没有被添加。请帮忙
我的代码:
imageArray = [[NSMutableArray alloc] init];
arry = [[NSMutableArray alloc] init];
[arry addObject:@"http://adjingo.2cimple.com/content/151/Image/6291.jpg"];
[arry addObject:@"http://adjingo.2cimple.com/content/151/Image/6290.jpg"];
//Fetch images from web and store in another array
for (int i=0; i<[arry count]; i++)
{
NSString *string=[arry objectAtIndex:i];
NSURL *url=[NSURL URLWithString:string];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request
queue:[NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
if ( !error )
{
UIImage *image = [[UIImage alloc] initWithData:data];
//Store image in imageArray
[imageArray insertObject:image atIndex:i];
} else{
}
}];
}
NSLog(@"%lu",(unsigned long)[imageArray count]); //this line is always showing 0 as count
当我打印包含count
个对象的数组的UIImage
时,显示 0 。
(我实际上想在阵列中一次下载图像,然后以幻灯片形式显示为UIImageView
)。
请指导我。谢谢!
答案 0 :(得分:1)
有几个问题。
[NSMutableArray arrayWithCapacity:size]
不分配内存,并且无法添加超出当前大小的项目。 NSMutableArray
确实分配内存,并且可以在任何索引处插入对象,包括当前大小。请参阅sendAsynchronousRequest
文档。
在{{1}}阻止后,没有下载任何图片,这将在下载完成时发生。
一次启动大量下载可能会出现性能问题。