Использование базовых данных с несколькими изображениями на объект? - PullRequest
3 голосов
/ 12 апреля 2011

Я новичок в Core Data и работаю над своим первым персональным приложением для iOS.

У меня есть объект, давайте назовем его Car, у которого есть пиктограмма, а также галерея других изображений, связанных с ним. Данные синхронизируются с онлайн-сервисом с использованием ASIHTTPRequest и JSONKit. Приложению не нужно создавать новые Car, просто отображать их.

Миниатюра может иметь размер около 100 КБ, поэтому я могу сохранить ее как данные BLOB-объекта внутри объекта Car.

Однако я не уверен, как мне хранить другие несколько изображений?

Изображения будут размером от 800 КБ до 1 МБ, поэтому их хранение в хранилище базовых данных не рекомендуется.

Единственные варианты, которые я могу придумать:

  • Храните URL каждой фотографии в другом объекте CarImage и полагайтесь на кэш ASIHTTPRequest.
  • Создайте структуру папок и сохраните каждое изображение в соответствующую папку Car и сохраните ссылки на путь к файлу в CarImage сущности

Поскольку данные синхронизируются, существует вероятность удаления Car, поэтому изображения в папках также должны быть удалены. Я вижу, как это быстро выходит из-под контроля.

Буду признателен за любой совет. Спасибо.

Ответы [ 2 ]

1 голос
/ 12 июля 2011

Я бы пошел с первым вариантом.В прошлом я делал нечто подобное, хотя на самом деле я также сохранял двоичные данные изображений в Core Data.Однако я не рекомендовал бы хранить данные, поскольку это вызвало у меня проблемы - просто полагайтесь на кеш ASIHTTPRequest.

1 голос
/ 12 апреля 2011

Я бы выбрал твой первый вариант.

Относительно изображений, которые должны быть удалены: не позаботится ли об этом автоматически кеш ASIHTTPRequest, когда они истекут? По крайней мере, это то, что я ожидал от кэша ...

...