0
我寫信使用imageWithcontentsOfFile未能從模擬器的緩存目錄加載保存的圖像
NSURL *cacheDir = [[NSFileManager defaultManager] URLsForDirectory:NSCachesDirectory
inDomains:NSUserDomainMask].lastObject;
NSURL *avatarFileURL = [cacheDir URLByAppendingPathComponent:@"test.png" isDirectory:NO];
NSData *imageData = UIImagePNGRepresentation(avatarImage);
[imageData writeToURL:avatarFileURL atomically:YES];
這工作得很好,我已經通過記錄avatarFile
URL並加載它驗證了圖像的模擬器緩存目錄的圖像到顯示緩存圖像的瀏覽器中。
然後我嘗試讀取測試圖像回來,如果我使用imageWithContentsOfFile:
和imageWithData:
我得到不同的結果如下:
NSURL *cacheDir = [[NSFileManager defaultManager] URLsForDirectory:NSCachesDirectory
inDomains:NSUserDomainMask].lastObject;
NSURL *avatarFileURL = [cacheDir URLByAppendingPathComponent:@"test.png" isDirectory:NO];
// Returns a nil.
NSString *avatarFile = avatarFileUrl.absoluteString;
UIImage *image1 = [UIImage imageWithContentsOfFile:avatarFile];
// Returns the image.
NSData *imageData = [NSData dataWithContentsOfURL:avatarFileUrl];
UIImage *image2 = [UIImage imageWithData:imageData];
我茫然地解釋爲什麼imageWithContentsOfFile
失敗,imageWithData
作品當他們都在尋址相同的URL。我已通過記錄驗證了網址,並且網址完全相同。
任何人都知道爲什麼imageWithContentsOfFile
不工作?
現在我覺得真的很愚蠢,因爲沒有發現:-)謝謝。 – drekka