2015-09-16 4 views
8

Я делаю приложение (в Swift), которое необходимо запустить в автономном режиме и в режиме онлайн. Когда он находится в автономном режиме, данные будут храниться локально в CoreData. После обнаружения сети (онлайн) она должна синхронизироваться с сервером и обновлять базовую базу данных. Как следует это делать. Есть ли библиотеки или контейнеры?Быстрая синхронизация данных ядра с веб-сервером

Я видел this post, но ничего не подлежит действию. Это слишком высокий уровень, и я не уверен, с чего начать. Я видел эту ссылку от Ray Wenderlich, но не знаю, как перевести на Swift.

Все ссылки учебник также будет полезен

ответ

8
  1. Добавить BOOLattribute вашему и назвать его CoreData Entity, как synched. Это будет в основном сохранять синхронизированный статус для каждого объекта.

  2. Теперь вам нужно будет проверить подключение к Интернету. Refer to this link

  3. Всякий раз, когда у вас есть подключение к Интернету, просто извлечение объектов из CoreData, используя следующие NSPredicate в вашей выборке запроса:

    let isSynchedPredicate = NSPredicate(format: "synched = %@", false) 
    
  4. Теперь вы можете использовать свой веб-сервис для синхронизации и обновить все неправдоподобные объекты к серверу. На преуспевающей загрузке, DONOT забудьте изменить synched свойства true

+0

Как один убедитесь, что каждый раз, когда приложение не загружает все, чтобы server..ideally он должен загрузить только/скачать данные, которые не синхронизировано с server .. –

+0

Этот метод гарантирует, что объекты с 'synched = false', только те, которые обновляются на сервере. Если такой объект не существует, тогда нет необходимости удалять обновление-web-сервис. Опять же, я подчеркиваю, что после того, как набор объектов загружен, вы должны установить для атрибута 'synched' значение' false' для всех этих объектов. – Nishant

+0

у вас есть образец проекта Xcode, который включает в себя это .. будет здорово, если вы можете поделиться ... –

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