加载UIImage并删除原始文件

时间:2012-07-27 15:15:34

标签: objective-c ios cocoa-touch uiimage

我正在尝试在本地加载图像存储,然后删除原始文件。

所以这里的代码:

UIImage *workingCopy = [UIImage imageWithContentsOfFile:workingCopyPath];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error = nil;
[fileManager removeItemAtPath:workingCopyPath error:&error];

之后我将此图像加载到我的视图(OpenGL)中。图像看起来像黑色方块。 没有删除原始文件,一切都很完美。

有没有办法将图像完全加载到内存并删除原始文件而不会损坏加载的图像?

我尝试使用imageNamed但它对我不起作用(因为扩展而无法找到文件)......

图片路径如下:/Documents/SavedImages/IMG-186998396.png.working_copy

我将NSString IMG-186998396.png.working_copy传递给imageNamed,但无法加载图片。

1 个答案:

答案 0 :(得分:4)

UIImage使用缓存机制和延迟加载(图像是加载注释,除非它被渲染)。 可能在显示后删除删除,或通过将其绘制到CGGraphicContext来强制渲染

更好的是:您可以使用后台线程来执行强制加载,请参阅答案on that question