我无法在视图控制器之间异步加载图像。我有一个tableView控制器,当你单击一行时打开一个集合视图控制器。当集合视图打开时,它会挂起一段时间,因为图像是从互联网上下载的。
我将以下代码放在collectionView:cellForItemAtIndexPath:中,但这导致同步加载,并使程序滞后。
-(UICollectionViewCell *) collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"CollectionCell";
CollectionCell *cell = [cv dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];
NSData *imageData = [NSData dataWithContentsOfURL:[self.theImage objectAtIndex:indexPath.row]];
cell.itemImage.image = [UIImage imageWithData:imageData];
return cell;
}
我的问题是,其中和如何我实现代码,以便集合视图在下载图像时加载空单元格(然后在下载后显示) ?
我试图使用盛大的中央调度,但我无法弄明白。如果有人可以帮我指出正确的方向,我会很感激。
答案 0 :(得分:0)
对于那种延迟加载,我总是使用:
https://github.com/rs/SDWebImage
当我想在表/集合视图等中同步加载图像时,这解决了我的大部分问题。
它支持已经下载的图像的缓存,只是省去了很多麻烦。