Я хочу создать приложение галереи, которое получало бы миниатюры и метаданные из Интернета, используя XML \ JSON (на данном этапе это не имеет значения), и сохраняло эти изображения локально. Я хочу использовать Core Data для локального хранения, однако я много искал и не нашел простых решений для синхронизации локальных данных с удаленным сервером.
Какие общие шаблоны iOS разработчики используют для решения этой проблемы?
Мне нужна действительно простая функциональность.
Приложение для iOS должно иметь возможность:
- загрузить все новые данные с веб-сервера
- показать полноразмерное изображение
- удалить миниатюры из локального хранилища, если они были удалены с сервера
Звучит просто, но для меня это выглядит несколько сложно, потому что обычно может быть два условия в зависимости от того, имеет ли пользователь подключение к Интернету или нет. Так, например, я не могу использовать дату загрузки в качестве отметки для «новых» изображений. Но я думаю, что это можно сделать, сравнивая идентификаторы или даты последних изображений устройства и сервера.
Другой момент заключается в том, что я не могу контролировать API сервера и не хочу писать прокси-сервер, который будет напрямую связываться с устройством. Но как я мог тогда проверить, было ли изображение удалено с сервера? Проверка каждого имеющегося на устройстве эскиза заняла бы много времени. Я знаю, что могу выполнить эту проверку, когда пользователь пытается загрузить полноразмерное изображение ... Но это не очень хорошая идея.
Существуют ли какие-либо общие шаблоны, методы или структуры, которые помогут синхронизировать данные на iOS между веб-сервисом и устройством (Core Data)?