Я пишу изображение на тренажерах каталога кэша с помощью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. Я проверил URL, зарегистрировав его, и URL-адреса точно совпадают.
Кто знает, почему imageWithContentsOfFile
не работает?
Теперь я чувствую себя действительно глупо, не заметив этого :-) Спасибо. – drekka