在我的应用程序中,我从 URL 加载图像:
-(void)loadImages
{
...
image1 = [UIImage imageWithData:[NSData dataWithContentsOfURL:imgUrl1]];
}
为了避免在下载完成之前阻塞主线程,我在
-viewDidAppear中使用以下方法调用此方法GCD
:
dispatch_async( dispatch_get_global_queue(0,0), ^{
[self loadImages];
});
然而,当我第一次打开我view controller
的imageView
时候,它imageView
是空的(即使我等了很长时间)但是当我view controller
再次打开它并且图像出现并且一切都很好。
我的错误在哪里?抱歉,多线程新手 :)
编辑:我也忘了提到,我在tableView
得到它时使用了图像:
cell.imageView.image = image1;