Quel est le meilleur moyen de réessayer un téléchargement d'image échoué dans cellForItemAtIndexPath? J'ai une vue de collection qui peut montrer environ 20 images miniatures de 80x80. J'utilise SDWebImage pour télécharger et mettre en cache des images dans la méthode cellForItemAtIndexPath, mais j'ai constaté que parfois une image ne peut pas être téléchargée. Je sais que je peux utiliser un bloc d'achèvement et tester si l'image est nulle, mais il ne semble pas recharger correctement l'image (l'image ne s'affiche toujours pas). Est-ce ainsi que je devrais gérer le rechargement de la cellule? Voici un exemple de mon code.Recharger UICollectionViewCell depuis cellForItemAtIndexPath
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
NSURL *thumbnailURL = [NSURL URLWithString:url];
INCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];
[cell.imageView setImageWithURL:thumbnailURL completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {
if (!image) {
[self.collectionView reloadItemsAtIndexPaths:[NSArray arrayWithObject:indexPath]];
}
}];
return cell;
}