gpt4 book ai didi

ios - 使用 block 下载图像,卡住 UI

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

在我的应用程序中,我正在使用 block 下载图像,但它卡住了我的 UI。我有一个网络类,其中包含下载图像的方法,

-(void)downloadImageWithCompletionHandler:^(NSData *aData, NSError *error)aBlock;

我在我的 View Controller 中调用上面的方法来下载图像。因此,一旦下载了图像,我就会使用 NSData 在 ImageView 中显示。网络类方法使用 NSURLConnection 方法下载图像。

   [[NSURLConnection alloc] initWithRequest:theURLRequest delegate:self];

数据下载完成后,我将调用 View Controller 的完成处理程序 block 。

但我不确定为什么我的 UI 卡住了?谁能帮我找出我哪里做错了?

提前致谢!

最佳答案

- (void) setThumbnailUrlString:(NSString *)urlString
{
NSString *url= [NSString stringWithFormat:@"%@",urlString];
//Set up Request:
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]init];
[request setURL:[NSURL URLWithString:url]];

NSOperationQueue *queue=[[NSOperationQueue alloc] init];
if ( queue == nil ){
queue = [[NSOperationQueue alloc] init];
}
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse * resp, NSData *data, NSError *error)
{
dispatch_async(dispatch_get_main_queue(),^
{
if ( error == nil && data )
{
UIImage *urlImage = [[UIImage alloc] initWithData:data];
_headImageView.image=urlImage;
_backgroundImageView.image=urlImage;
}
});
}];
}

关于ios - 使用 block 下载图像,卡住 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31832591/

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