Каков наилучший способ поддерживать и обновлять автономные изменения между клиентом IOS и сервером? - PullRequest
1 голос
/ 17 февраля 2012

Я реализовал приложение ios, которое использует restkit с coredata и бэкэнд Grails с SQL. Я получил части «get» и «post», работающие, пока существует сетевое подключение и пока сервер работает и работает.

Я использую идентификатор, назначенный сервером, в качестве первичного ключа в основных данных для синхронизации объектов. Если я разрешаю пользователям создавать или обновлять объекты, когда они находятся в автономном режиме или когда на сервере возникают проблемы, каков будет лучший способ сохранить состояние и обновить сервер позднее? Я хотел бы знать, каковы будут лучшие практики в этом отношении.

Спасибо заранее !!

1 Ответ

0 голосов
/ 27 февраля 2012

Я справился с этим несколькими способами, хотя это не простая задача.

Во-первых, я добавил NSAttribute ко всем моим моделям базовых данных, чтобы отслеживать их состояние (т. Е. Должны ли онибыть отправлено с запросом POST или PUT на сервер).Затем я следил за уведомлениями о достижимости (RestKit выставляет их через RKReachabilityObserver) и отправлял объекты, которые были изменены с помощью соответствующего метода, на сервер.Код, который я использовал для этого, можно найти здесь (но он устарел и не должен использоваться напрямую).

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

...