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

时间:2015-01-12 17:01:38

标签: ios file swift uiimage rewrite

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

1 个答案:

答案 0 :(得分:1)

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

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