forループで画像URLを使用してサーバーから100〜200枚の画像をダウンロードする必要があるiPhoneアプリに取り組んでいます。次のように:
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];
}
それはうまく機能し、私にもイメージを与えてくれます。
私の質問は次のとおりです。
- 1 回の XML 呼び出しで複数の画像データを取得するにはどうすればよいですか? 出来ますか?
- 画像をダウンロードするバッターの方法は何ですか? コードを提供してください。
- この画像のダウンロードが進行しているときに、アプリがしばらく動かなくなることがあります。その理由は何ですか?