提问人:devSimba 提问时间:9/3/2022 最后编辑:The Dreams WinddevSimba 更新时间:9/4/2022 访问量:59
使用 Web 服务器图像在 UIImageView 上显示图像
Display image on UIImageView using Web server image
问:
我想在 UIImageView 上显示一个调用 Web 服务器图像的图像。 因为我想立即更换并显示它。
代码如下
NSURL *imageURL = [NSURL URLWithString:urlString];
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
webImage.image = [UIImage imageWithData:imageData];
问题是...... 图像一开始显示得很好, 但是如果我用另一个图像替换了 Web 服务器上的图像。(文件名相同,只是文件被替换)它没有改变,仍然显示第一张图像。
请帮帮我...
答:
0赞
The Dreams Wind
9/3/2022
#1
问题中的代码似乎有缺陷,即您显然在 UI 线程中执行网络请求。这种方法往往会使应用程序 UI 无响应。但是,如果我们把问题归结为“为什么NSData
会为同一个URL返回过时的数据?”,那么答案是因为它有内部缓存。缓存逻辑可以通过来自服务器的响应标头(例如 Expires)或使用 NSDataReadingUncached
选项(以抑制任何缓存逻辑)来控制:
NSData *data = [NSData dataWithContentsOfURL:url options:NSDataReadingUncached error:nil];
评论
0赞
devSimba
9/6/2022
谢谢你的回答!“NSDataReadingUncached”不起作用...所以我使用了 SDWebImage 库。
评论