gpt4 book ai didi

ios - 如何在 block 内分配 UIimage

转载 作者:行者123 更新时间:2023-11-29 13:11:02 26 4
gpt4 key购买 nike

我正在向 URL 发出下载图像的请求。我将其作为 NSData 对象接收,但当我尝试将其转换为 UIimage with imageWithData: 时,UIImage 未加载。这是我的代码

__block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
__weak typeof(request)weakRequest = request;
__block UIImage * imager;
__block NSData * image;
[request setCompletionBlock:^{
[self parseXMLFileAtFileId:[weakRequest responseData]];
if (!files){
cell.correctImage.image = [UIImage imageNamed:@"sidebarPlaceholder"];
}
else{

NSURL *url = [NSURL URLWithString:[self downloading:[files objectAtIndex:0]]];
__block ASIHTTPRequest *requester = [ASIHTTPRequest requestWithURL:url];

__weak typeof(request)weakRequesting = requester;
[requester setCompletionBlock:^{
image = [weakRequesting responseData];
imager = [UIImage imageWithData:image];
cell.correctImage.image = imager;
[cell layoutIfNeeded];
}];

[requester startAsynchronous];
}
}];

以前,我通过明确说明 UIImageView 的大小来实现它,但这应该由 UITableviewCell 来处理。如何显示图像?

最佳答案

尝试在主线程中运行这些代码块,因为看起来您正在尝试在后台线程中设置图像和更新布局。在

之后立即使用以下 NSThread 方法
UIImage *imager = [UIImage imageWithData:image]

[self performSelectorOnMainThread:@selector(updateImage:) withObject:imager waitUntilDone:false];

//定义更新图像的方法

- (void)updateImage: (UIImage *)paramImage {
cell.correctImage.image = paramImage;
[cell layoutIfNeeded];
}

关于ios - 如何在 block 内分配 UIimage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17373605/

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