синхронизировать данные ядра с веб-сервером - PullRequest
3 голосов
/ 03 апреля 2012

Я создаю приложение о птицах.Это приложение также должно работать в автономном режиме.Поэтому я решил использовать Core Data.Я планирую иметь 1 таблицу с примерно 700 записями.Все птицы будут отображаться в виде таблицы.Рабочий процесс должен выглядеть следующим образом:

  1. Пользователь запускает приложение
  2. Запрос отправляется на сервер в фоновом режиме
  3. Ответ анализируется
  4. База данных обновлена ​​

Мне интересно, как лучше это сделать.Моя точка зрения состоит в том, чтобы добавить к запросу поле «последнее изменение», это уменьшит количество обновлений базы данных.Должен ли я удалить все экземпляры моего объекта или зациклить их один за другим, сравнивая поле «последнее изменение», а затем обновить / удалить / вставить?Кто-нибудь сделал профилирование времени?Когда пользователь открывает экран с птицами в период, когда старые экземпляры уже удалены, а новые не вставлены, он увидит пустое табличное представление, как справиться с такой ситуацией, нужна ли мне сущность tmp?Есть ли другие подводные камни, которые я пропустил?

Ответы [ 2 ]

1 голос
/ 25 сентября 2012
1 голос
/ 04 апреля 2012

Если я вас правильно понял, вы можете изменить свою птицу как в приложении, так и в базе данных сервера, и вы хотите, чтобы последнее изменение было сохранено и перенесено на другую сторону.Затем вы можете использовать что-то вроде Last sync в своих NSUserDefaults, и каждый раз, когда вы отправляете запрос на сервер, вы отправляете ему все объекты, которые вы изменили после последней синхронизации (это простой запрос к основным данным), исервер также должен вернуть вам список птиц, которые он обновил после вашего последнего sync., так что вы можете обновить их и в своем приложении. При обновлении значения LastSync.

Если вы просто всегда получаете все обновленныептицы с сервера, просто используйте вторую часть моего ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...