【发布时间】:2016-04-19 22:17:36
【问题描述】:
在我的 iOS 应用程序中,我使用 +imageNamed: 方法来加载图像(在代码中的许多不同位置)。
在一种情况下,用户可能会更新(下载)新图像。
当我尝试加载新的时,由于缓存,它会显示旧的。
从“Is there a way to clear the cache used by UIImage class?”的问题中,我看到我必须使用-initWithContentsOfFile:的方法。
但这不会利用+imageNamed: 享受的缓存加速。我想要的只是“告诉”文件已更改的缓存,因此它需要“重新缓存”它。然后继续对新缓存的图像使用+imageNamed: 方法。
换句话说,我使用+imageNamed: 方法(比如说)10 次,我更改图像,我“告诉”缓存,然后我继续使用+imageNamed: 方法另一个(比如说)10 次。如果我将所有+imageNamed: 更改为-initWithContentsOfFile:,那么我将失去缓存优势。
有没有办法/技巧来做到这一点?
【问题讨论】:
-
P.S.请不要使用私有框架解决方案。我的 App 上 AppStore,所以我必须使用“官方”工具。
-
您链接的问题已经回答了这个问题。为什么又发了一篇?
-
为什么还是显示旧图?他们有相同的名字吗?
-
是的。名字是一样的。我只是覆盖(旧)文件。
-
你可以给它一个唯一的名称并删除旧文件吗?
标签: ios objective-c caching uiimage