我无法在我的视图控制器之间异步加载图像。我有一个 tableView 控制器,当您单击一行时,它会打开一个集合视图控制器。当集合视图打开时,它会挂起一段时间,因为图像是从 Internet 下载的。
我将以下代码放在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;
}
我的问题是,我在哪里以及如何实现代码,以便集合视图在图像下载时加载空单元格(然后在下载后出现)?
我尝试使用大中央调度,但我无法弄清楚。如果有人可以帮助我指出正确的方向,我将不胜感激。