Синхронизация с RestKit - PullRequest
       35

Синхронизация с RestKit

8 голосов
/ 11 декабря 2011

Я собираюсь написать простое приложение для iPhone, которое использует Core Data для хранения локальной копии удаленных данных, получаемых через веб-сервис RESTful. Данные меняются (новые записи добавляются) довольно часто. Я наткнулся на RestKit, и мне интересно, может ли он делать то, что мне нужно. И что мне нужно, это загрузить все записи в начале, а затем периодически загружать ТОЛЬКО записи, которые были добавлены после предыдущей проверки. Очевидно, что нет ничего загадочного в том, как это можно сделать, даже просто используя NSURLConnection, но я надеялся, что RestKit (возможно, в сочетании с надлежащим веб-сервисом) сделает это без необходимости писать всю логику синхронизации. Опять же, ключ для меня заключается в том, что с сервера извлекаются только новые / измененные данные.

Ответы [ 2 ]

6 голосов
/ 18 декабря 2011

Я согласен - RestKit может сделать это, мы недавно использовали его, чтобы сделать нечто подобное в недавнем проекте.Мы использовали заголовок запроса последней измененной даты, чтобы указать время последней успешной синхронизации, которое сервер может использовать для возврата только тех записей, которые были изменены с этой даты.Код статуса HTTP 304 «не изменен» использовался для указания отсутствия изменений, когда это необходимо.

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

Некоторая информация, которую я нашел полезной в отношении отображения RestKit & CoreData - https://github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md,, а группа Google также является хорошим источником - https://groups.google.com/group/restkit. Надеюсь, что все это помогает.

4 голосов
/ 11 декабря 2011

Прежде всего: ДА

RestKit очень хорошо обрабатывает CoreData. Все, что вам нужно сделать, это предоставить картографирование ваших сущностей, и оно сделает всю работу за вас.

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

У них очень хороший API, который расширяет RestKit, он очень прост в использовании и их поддержка великолепна. Посмотри.

...