Как я могу сохранить и извлечь изображение (байты) в 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>

Но я не знаю, как кодировать этот метод. Нужна помощь с этим.

Ответы на вопрос(2)

Ваш ответ на вопрос