gpt4 book ai didi

ios - UICollectionCellView - 带来重复的图像

转载 作者:行者123 更新时间:2023-11-28 17:53:20 25 4
gpt4 key购买 nike

我正在从 parse 下载一些图像到 UICollectionView。问题是在下载图像之前,细胞被重复使用。如何取消请求并避免在不同的单元格上重复相同的图像?

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{

WallImage *wallImageFromUser = [DataStore instance].wallImagesFromUser[indexPath.row];

static NSString *identifier = @"Cell";
UserPhotoCollectionViewCell *cell = (UserPhotoCollectionViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];


if ([[DataStore instance].wallImagesFromUser count] > 0) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^(void){
UIImage *postedImage = [UIImage imageWithData:[wallImageFromUser.imageFile getData]];
dispatch_async(dispatch_get_main_queue(), ^(void){
[cell.userPhotoButton setImage:postedImage forState:UIControlStateNormal];
});
});
}
return cell;
}

我尝试使用 [wallImagesFromUser.imageFile cancel] 但没有成功。

有什么建议吗?

最佳答案

根据我的说法,您应该创建您的单元格标识符名称作为您的自定义单元格名称。避免在您的应用程序中重复单元格是更好的方法。并尝试这个

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
static NSString *identifier = @"UserPhotoCollectionViewCell";
UserPhotoCollectionViewCell *cell = (UserPhotoCollectionViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^(void){
WallImage *wallImageFromUser = [DataStore instance].wallImagesFromUser[indexPath.row];
UIImage *postedImage = [UIImage imageWithData:[wallImageFromUser.imageFile getData]];
dispatch_async(dispatch_get_main_queue(), ^(void){
[cell.userPhotoButton setImage:postedImage forState:UIControlStateNormal];
});
});
return cell;
}

但我更喜欢 SDWebImage 在 collectionview/tableview 的单元格中下载图像您可以使用第三方 SDWebImage 下载您的 collectionview 单元格图像中的图像。它下载图像一次并将图像设置为该特定单元格。它减少了 collectionview 单元格中重复图像的问题。它还可以提高您的应用程序性能。你可以在这里下载

https://github.com/rs/SDWebImage

关于ios - UICollectionCellView - 带来重复的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23759183/

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