【问题标题】:Image is not updating in app应用程序中的图像未更新
【发布时间】:2014-03-11 07:46:56
【问题描述】:

在我的应用中,我有一个页面,用户可以从中更新他的个人资料图片。在另一个页面中,我还显示了该个人资料图片。我正在使用用户 ID 来保存像 1.png 这样的个人资料图片,所以它的名称每次都相同。现在我正在使用 UIImageView+AFnetworking.h 并通过以下代码设置图像:

NSString *urlString=[ImageURL stringByAppendingPathComponent:[[NSUserDefaults standardUserDefaults] valueForKey:@"profile-picture"]];
NSURL *url=[[NSURL alloc]initWithString:urlString];
[imgProfile setImageWithURL:url placeholderImage:[UIImage imageNamed:@"No_image"]];

现在当我更新图片并转到另一个页面以查看更新的个人资料图片时,它显示的是旧图片。当我回到用户可以更新图片的页面时,还会显示旧图像。当我直接输入到浏览器的图像链接时,它会在服务器上显示更新后的图像。所以图像更新到服务器但不更新到应用程序。我认为这可能是因为每次 url 都是相同的,因此类不会从那里重新加载数据。我写吗?如果是,那么我应该怎么做才能解决这个错误

【问题讨论】:

    标签: ios iphone uiimageview afnetworking afnetworking-2


    【解决方案1】:

    这只是一个疯狂的猜测,但也许您只是在页面第一次加载后才初始化个人资料图片。只要视图层次结构没有被卸载(如果您只是在视图控制器之间切换就不一定会发生这种情况),显示您的个人资料图片的 UIImageView 就没有理由重新加载其资源。

    因此,您可能希望在 viewWillAppear 中检查您的图片是否已更改并在必要时重新加载,或者跳过此步骤并在每次页面可见时重新加载图片。

    同样,这只是一个猜测 - 如果这不能解决问题,请告诉我们更多关于如何保存和加载图像的信息。

    【讨论】:

    • no....我是正确的...该类具有存储请求缓存的方法...当我返回 nil 值时,如果图像更改,它现在每次都加载。跨度>
    【解决方案2】:

    我认为您的问题是您的请求缓存了旧图像。 当您设置新图像然后想从服务器获取它时,您会得到 旧缓存版本。

    您可以尝试禁用此请求的缓存。

    【讨论】:

      猜你喜欢
      • 2018-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-13
      • 2018-01-20
      • 1970-01-01
      相关资源
      最近更新 更多