gpt4 book ai didi

iphone - 使用 NSOperationQueue 从 web 异步加载多个图像

转载 作者:行者123 更新时间:2023-11-29 11:17:27 25 4
gpt4 key购买 nike

我有一个数组或 url 指向服务器上存在的图像。现在我想在 ScrollView 中显示图像,每行有 4 个图像。我正在考虑使用 NSOperationQueue 和 NSInvocationOperation 异步下载图像。我使用以下网址作为引用:
http://www.switchonthecode.com/tutorials/loading-images-asynchronously-on-iphone-using-nsinvocationoperation

但我不确定如何下载多张图片。我是否必须使用多个 NSInvocationOperation 对象运行 for 循环并将其添加到 NSOperationQueue 对象?

我正在寻找任何指导来完成我的任务。

编辑:我已完成以下操作,但 NSOperationQueue 无法调用 NSInvocationOperation 对象

NSOperationQueue *queue = [NSOperationQueue new];
for(int i = 0;i<rowcount;i++){
for(int j =0; j<4;j++){
UIButton *btnAlbum = [[UIButton alloc] initWithFrame:CGRectMake(x, y, 72, 72)];
[btnAlbum setBackgroundImage:[UIImage imageNamed:@"placeHolder.png"] forState:UIControlStateNormal];
btnAlbum.tag = count+100;
//[btnAlbum addTarget:self action:@selector(viewAlbum:) forControlEvents:UIControlEventTouchUpInside];
[scrlvw addSubview:btnAlbum];
//[btnAlbum release];
x = x + 80;
count++;

NSInvocationOperation *operation = [[NSInvocationOperation alloc]
initWithTarget:self
selector:@selector(loadImage)
object:nil];

[queue addOperation:operation];
[operation release];
}
x = 0;
y = y +80;
}

谢谢
潘卡吉

最佳答案

是的——对于您要下载的每个图像,您创建一个 NSInvocationOperation,它在执行时将调用下载图像的例程。 NSInvocationOperation 被添加到队列中,它负责在它自己的线程上执行 NSInvocationOperation。

您只需要一个队列,但每次下载都需要一个新的 NSInvocationOperation。

关于iphone - 使用 NSOperationQueue 从 web 异步加载多个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8815708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com