iOS 在特定路径重写图像文件显示旧图像

iOS rewriting image file at specific path shows old image

在我用 swift 编写的 iOS 应用程序中,我使用以下代码从 UIImageView 上的本地文件设置图像: profileImageView.image = UIImage(named: documentsDirectory[0].stringByAppendingPathComponent("myImage.jpeg")) 这很好用。在某个阶段(在我的例子中是另一个 ViewController),我必须通过先删除现有文件然后将新文件写入该目录或将新文件移动到现有目录来重写文件内容。重写文件后图像视图继续显示旧图像,即使我使用与提到的相同方法重置其图像 above.If 我关闭应用程序然后重新打开它新图像是 shown.I 知道这是可能是缓存问题,我的问题是如何清除与特定文件相关的缓存并直接显示新图像?

您 运行 遇到了几个不同的问题,其中最大的问题是 UIImage.imageNamed 专门缓存读取的图像,因此更改基础文件不会产生新图像正在使用。另一个(相关)问题是 imageNamed 主要用于从应用程序包中加载静态图像。

切换到使用 UIImage(contentsOfFile:...) 并确保在更改后备文件时重新加载图像。