Objective c 加载UIImage并删除原始文件

Objective c 加载UIImage并删除原始文件,objective-c,ios,cocoa-touch,uiimage,Objective C,Ios,Cocoa Touch,Uiimage,我试图在本地加载一个图像存储,然后删除原始文件 下面是代码: UIImage *workingCopy = [UIImage imageWithContentsOfFile:workingCopyPath]; NSFileManager *fileManager = [NSFileManager defaultManager]; NSError *error = nil; [fileManager removeItemAtPath:workingCopyPath error:&error

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

下面是代码:

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\u copy


我将NSString
IMG-186998396.png.working\u copy
传递给
imageNamed
,但它无法加载图像。

UIImage使用缓存机制和延迟加载(除非渲染,否则图像会加载注释)。 可能会在显示后推迟删除,或者通过将其绘制到
CGGraphicContext

更好的是:您可以使用一个背景线程来执行强制加载,请参见答案