gpt4 book ai didi

iphone - 使用 block 从后台线程加载图像

转载 作者:太空狗 更新时间:2023-10-30 03:22:33 25 4
gpt4 key购买 nike

我有以下方法,它基本上调用请求以在后台线程中加载图像的 NSData 数组:

[query findObjectsInBackgroundWithBlock:^(NSArray * objects, NSError * error){

}];

在这种情况下,对象是 NSData 的数组。问题是,如果我要加载 100 张图像(数组中有 100 个元素)。这意味着用户将不得不等待相当长的时间才能看到 UITableView 中显示的任何图像。我想要做的是让他们在图像可用/加载后看到图像。我是否必须更改代码以便它执行 100 个后台线程来加载图像?

最佳答案

你可以在你的 cellForRowAtIndexPath 中实现这样的东西:

通过这种方式,您可以在后台加载每张图片,一旦加载,相应的单元格就会在主线程上更新。

      dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^(void) {
NSData *data0 = [NSData dataWithContentsOfURL:someURL];
UIImage *image = [UIImage imageWithData:data0];

dispatch_sync(dispatch_get_main_queue(), ^(void) {
UIImageView* imageView = (UIImageView*)[cell viewWithTag:100];
imageView.image = image;
});
});

关于iphone - 使用 block 从后台线程加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7502073/

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