我正在开发一个 iPhone 应用程序,我需要在 for 循环中使用图像 url 从服务器下载 100-200 张图像。如下所示:
NSOperationQueue *queue = [NSOperationQueue new];
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self
selector:@selector(downloadImages:)
object:arrayTemp];
[queue addOperation:operation];
[operation release];
[queue release];
-(void)downloadImages{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init];
UIImage *image;
for (int i=0; i < [self.ImagesRecords count]; i++)
{
ImageData *data =(ImageData*) [self.ImagesRecords objectAtIndex:i];
NSString *strName = [NSString stringWithFormat:@"image_%@",data.ID];
image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[@"http://abc.com" stringByAppendingString:data.PhotoPath]]]];
if (image!=nil)
{
[self saveImage:image withName:strName];
}
}
image = nil;
[pool release];
}
它工作正常,也给了我形象。
我的问题是:
- 如何在单个 XML 调用中获取多个图像数据?可能吗?
- 下载图像的最佳方式是什么?请提供一段代码。
- 有时我发现我的应用程序在此图像下载过程中卡住了一段时间。它的原因是什么?