gpt4 book ai didi

ios - iOS-SDWebImage加载错误的图像

转载 作者:行者123 更新时间:2023-12-01 18:59:16 25 4
gpt4 key购买 nike

我正在使用SDWebImage库进行缓存和延迟加载。但是我发现它有时显示另一个单元格的图像。

详细信息Scenerio

  • 有CollectionView,其中包含包含UIImageView和Labels的单元格。
  • ImageView包含用户图像和带有其标签的标签
    名称。

  • 但有时在Imageview中加载的Image具有不同的图像。

    可以说
    Index  Name  Image
    0 nameA A
    1 nameB B
    2 nameC C
    3 nameD B

    因此,此处在索引处具有名称D,因此图像应为b“D”,但它显示的是名称B的图像,即“B”

    这是我使用的代码
          if ([aMutDict objectForKey:@"picture_url"])
    {
    [[SDWebImageManager sharedManager]downloadWithURL:[NSURL URLWithString:[aMutDict objectForKey:@"picture_url"]] options:SDWebImageProgressiveDownload progress:Nil completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished) {
    if(image){
    [cell.imgProfilePic setImage:image];
    }else{
    [cell.imgProfilePic setImage:ApplicationDelegate.gblImgPlaceholder];
    }
    }];

    }

    最佳答案

    您的方法存在的问题是,如果滚动或完全下载了图像,则单元格变量将保存任何其他单元格的地址,而不是您要显示图像的实际单元格。这就是图像显示错误的原因。

    像这样更改它:

    if ([aMutDict objectForKey:@"picture_url"])
    {
    [cell.imgProfilePic setImageWithURL:[NSURL URLWithString:[aMutDict objectForKey:@"picture_url"]]
    placeholderImage:ApplicationDelegate.gblImgPlaceholder
    success:^(UIImage *image) {
    NSLog("Image Loaded");
    }
    failure:^(NSError *error) {
    NSLog("Image Not Loaded"); }
    ];
    }

    关于ios - iOS-SDWebImage加载错误的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23927016/

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