Как я могу сохранить и извлечь изображение (байты) в SQLite (blob) с помощью FMDB?
Я делаю приложение для iOS, которое должно показывать некоторые изображения с удаленного сайта (с URL-адреса), и каждый раз, когда пользователи заходят на экран, который должен показывать изображение, приложение останавливается до завершения загрузки. Поэтому я хочу сохранить уже загруженные изображения в таблицу SQLite с именем COVERS.
Вот код, который я загружаю и показываю на картинке:
Предположим, что movieCover являетсяUIImageView и объект фильма имеетNSURL Свойство с именем cover, которое содержит URL-адрес изображения для загрузки.
<code>NSData *cover = [[NSData alloc] initWithContentsOfURL:movie.cover]; movieCover.image = [[UIImage alloc] initWithData:cover]; </code>
Но я хочу изменить это на что-то вроде этого:
<code>NSData *cover = [appDelegate.dataBase getCoverForMovie:movie]; if( !cover ) { cover = [[NSData alloc] initWithContentsOfURL:movie.cover]; [appDelegate.dataBase setCover:cover ToMovie:movie]; } movieCover.image = [[UIImage alloc] initWithData:cover]; </code>
Предположим, что appDelegate является свойством текущего ViewController, а dataBase - это свойство AppDelegate, которое использует FMDB для манипулирования данными в базе данных.
Мне нужно получить обложку, ранее сохраненную в базе данных, используя метод:
<code>- (NSData *)getCoverForMovie:(Movie *)movie; </code>
Но, если обложка не сохранена, верните ноль.
Поэтому мне нужно сохранить обложку, используя метод
<code>- (BOOL)saveCover:(NSData *)cover ForMovie:(Movie *)movie; </code>
Но я не знаю, как кодировать этот метод. Нужна помощь с этим.