2015-02-02 4 views
2

Я хочу, чтобы пользователи сохраняли выбранное изображение и видео в приложении. Поэтому я хотел знать, что лучше. Должен ли я преобразовать выбранные изображения и видео в NSData и сохранить в Основные данные? Я ищу везде, и все рекомендуют использовать Папка документов, чтобы сохранить изображения и видео, потому что coredata работает медленнее. Я только начал изучать CoreData, поэтому у меня мало знаний об этом. Вот что я придумал.сохранить изображение и видео в приложении iOS

Пользователи выбирают изображение или видео -> Приложение Сохраняет его в папке с документами -> Используя coredata, приложение сохраняет путь к файлу как строку для доступа к изображению или видео. (и пользователь может выполнять резервное копирование в любое время с помощью icloud)

и Пользователи могут получить доступ к этим файлам на своих других устройствах с помощью iCloud. Пожалуйста, объясните мне, если я ошибаюсь, или у вас есть лучшая альтернатива, или вопрос не прав. Спасибо

ответ

1

Я сделал оба пути, и для меня это просто вопрос использования базы данных. Если вы хотите сделать резервную копию базы данных и поделиться ею с другими, я бы рекомендовал хранить файлы в CoreData как NSData. Если это просто локальная база данных, может быть проще хранить URL-адреса изображений, хранящихся на диске.

При настройке поля Binery в CoreData вы можете выбрать опцию «Разрешить внешнее хранилище», который в основном хранит файл на диске для вас, но вы можете загрузить его из баз данных, как если бы он был сохранен в db. Это то, что я использую больше всего для изображений.

С помощью этой опции легко создать zip-файл базы данных и всех связанных с ним двоичных файлов, а также легко распаковать его, чтобы восстановить базу данных.

+0

Да, правильно, но влияет ли это на производительность приложения? – Ankit

+0

Я действительно не знаю. Поскольку вы не контролируете, где CoreData хранит данные до 100%, я думаю, может быть медленнее хранить данные в двоичном поле, чем просто хранить строку. В любом случае у меня не было проблем с этим. В моей базе данных хранится около 1600 изображений. –

Смежные вопросы