Как вы обрабатываете веб-сервисы в iOS? Как насчет CoreData? - PullRequest
4 голосов
/ 28 июня 2011

Веб-служба отправляет данные клиенту iOS, а клиент показывает данные с помощью UITableView.

Данные обычно представляют собой статью встроенной доски, текстовый список. Отправляется с веб-сервиса в формате json. (иногда XML)

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

Есть много способов реализовать это, каким способом вы подходите? 1. или 2.?

  1. UITableViewController обрабатывает объект json.

    Простой способ, но он может быть сложен для кодирования.

  2. Использовать CoreData в качестве локальной базы данных.

    Существует локальный репозиторий для статей, когда данные json поступают из веб-сервиса, он обновляет локальный репозиторий CoreData. (загрузка асинхронного веб-сервиса)

    и UITableViewController <> обрабатывают обновление локального репозитория CoreData и обновляют UITableView с анимацией.

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

Друзья, как вы обычно реализуете список данных из веб-сервиса?


Больше комментариев:

Я нашел пример SeismicXML от Apple SDK, это хорошо реализованный пример способа 1.

но я думаю, что это можно легко реализовать, используя CoreData в качестве локального хранилища.

  1. Получить данные из веб-службы (асинхронно) и поместить данные в CoreData

  2. UITableViewController обновляет UITableView в методах NSFetchedResultsControllerDelegate.

Как вы относитесь к этой стратегии?

Ответы [ 2 ]

4 голосов
/ 28 июня 2011

Выезд RestKit . У них есть пример клиента доски обсуждений для iPhone, который получает свои данные с сервера доски обсуждений (также поставляемого в примере - построенного на рельсах) через json и сохраняет его в базе данных ядра на iphone. очень элегантный имо.

http://restkit.org/

1 голос
/ 28 июня 2011

Вариант 1 очень прост, если вы используете JSON Framework

JSON Framework

В вашем контроллере представления установите его, загружая данные с сервера. После завершения загрузки данных используйте среду JSON для заполнения модели данных, а затем вызовите перезагрузку таблицы, чтобы отобразить новые данные. Таким образом, для пользователя нет паузы во время его загрузки.

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