4

イメージストアをローカルにロードしてから、元のファイルを削除しようとしています。

だからここにコード:

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たが、画像を読み込めません。

4

2 に答える 2

4

UIImage は、キャッシュ メカニズムと遅延読み込みを使用します (画像がレンダリングされない限り、画像は読み込まれません)。表示された後に削除を延期するか、CGGraphicContext

さらに良いこと: 強制読み込みを行うためにバックグラウンド スレッドを使用できます。その質問の回答を参照してください。

于 2012-07-27T15:29:21.710 に答える