Я записываю файл .jpg в каталог документов моего приложения следующим образом:
NSData *img = UIImageJPEGRepresentation(myUIImage, 1.0);
BOOL retValue = [img writeToFile:myFilePath atomically:YES];
Позже я загружаю это изображение обратно в UIImage, используя:
UIImage *myImage = [UIImage imageWithContentsOfFile:path];
Я знаюэто работает, потому что я могу нарисовать изображение в ячейке таблицы, и это нормально.Теперь, если я попытаюсь использовать UIImageJPEGRepresentation (myImage, 1.0), отладчик распечатает эти строки:
<Error>: Not a JPEG file: starts with 0xff 0xd9
<Error>: Application transferred too few scanlines
И функция вернет ноль.У кого-нибудь есть идея, почему это произойдет?Я ничего не делал для манипулирования данными UIImage после их загрузки.Я только что предоставил UIImage для изображения в ячейке.Я установил свойства представления изображений таким образом, чтобы все изображения в ячейках выстраивались и имели одинаковый размер, но я не думаю, что это должно иметь какое-либо отношение к возможности преобразования UIImage в NSData.