在我的应用中,我有一个页面,用户可以从中更新他的个人资料图片。在另一个页面中,我还显示了该个人资料图片。我正在使用用户ID保存个人资料图片,例如 1.png ,因此每次名称都相同。现在我正在使用UIImageView + AFnetworking.h,我将这个代码设置为settign image:
NSString *urlString=[ImageURL stringByAppendingPathComponent:[[NSUserDefaults standardUserDefaults] valueForKey:@"profile-picture"]];
NSURL *url=[[NSURL alloc]initWithString:urlString];
[imgProfile setImageWithURL:url placeholderImage:[UIImage imageNamed:@"No_image"]];
现在,当我更新图片并转到另一页以查看更新的个人资料图片时,它正在显示旧图片。当我回到用户可以更新图片的页面时,还会显示旧图像。当我直接键入图像链接到浏览器时,它在服务器上显示updat4ed图像。因此,图像会更新到服务器,但不会更新到应用程序。我认为这可能是因为每次url都是相同的,所以class不会从那里重新加载数据。我写的?如果是,那么我该怎么做才能解决这个错误
答案 0 :(得分:0)
这只是一个疯狂的猜测,但也许你只是在第一次加载页面时才初始化个人资料图片。只要视图层次结构没有被卸载(如果你只是在视图控制器之间切换就不一定会发生),显示你的个人资料图片的UIImageView没有理由重新加载它的资源。
因此,您可能需要在viewWillAppear中检查您的图像是否已更改并在必要时重新加载,或者跳过此步骤并在每次页面可见时重新加载图像。
同样,这只是猜测 - 请告诉我们有关如何保存和加载图像的更多信息,如果这样做不成功的话。
答案 1 :(得分:0)
我认为您的问题是您的请求缓存旧图像。 当您设置新图像然后想要从服务器获取它时,您将得到它 旧的缓存版本。
您可以尝试禁用此请求的缓存。