2015-03-14 1 views
1

У меня есть приложение iOS, которое использует Core Data и ParcelKit для синхронизации с Dropbox. Однако API Dropbox Datastore позволяет записывать только 100 КБ, чтобы он не синхронизировал изображения, которые хранятся в базе данных. Любое другое обходное решение, чем хранение изображений в виде отдельных файлов с именами файлов, хранящимися в базе? Он немного хрупок, когда пользователь может изменять содержимое папки с файлами изображений, тем самым торможя ссылку на базу данных.Лучшая практика для синхронизации базы данных Core Data с изображениями в Dropbox через ParcelKit

ответ

2

Не хранить большие изображения в постоянном хранилище основных данных. Apple рекомендует хранить только небольшие изображения, такие как миниатюры, возможно, 20K макс. Если вы выйдете за рамки этого, производительность в конечном итоге значительно ухудшится.

Таким образом, вы не можете избежать хранения изображений в отдельных файлах и сохранения их имени/местоположения в Core Data. Это рекомендуемая модель.

Я не понимаю, почему вы думаете, что это fragile. Предположительно, вы сохраните изображения в песочнице приложений, так как пользователь не может играть с ними, если iPhone не взломан.

Управление Dropbox должно управляться независимо от этой настройки.

+0

Спасибо за ввод. Я совершенно новичок в разработке iOS, поэтому я не знал об этой рекомендации Apple. ragile "Я имел в виду, что для синхронизации с помощью Dropbox я должен хранить их в папке Dropbox, где пользователь имеет доступ и может повредить вещи. Сохранение в песочнице приложений, конечно, достаточно безопасно. – HEK

1

FYI Dropbox просто убил Датастор API и снять его линию в 2016 году :-(

Вы должны контролировать этот ParcelKit Issue:

Dropbox датастор Устаревшее # 34
https://github.com/overcommitted/ParcelKit/issues/34

+0

Спасибо, я тоже заметил. Очень печально, как API Datastore неплохо. За исключением предела размера записи 100K, то есть. – HEK

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