Извлечение данных из веб-сервиса и кеширование на iphone - PullRequest
1 голос
/ 05 ноября 2010

Я хочу получить доступ к веб-сервису, чтобы получить много данных (например, списки продуктов / подробности / результаты поиска) и отобразить их.

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

1 Ответ

1 голос
/ 05 ноября 2010

Если бы я делал что-то подобное с нуля, вот что я бы сделал:

  1. Пусть веб-сайт публикует все данные в XML.За исключением, может быть, изображений - просто в поле XML укажите URL для каждого изображения.Например, допустим, я делал список продуктов.

  2. Используйте NSXMLParser для извлечения и анализа данных XML.

  3. Использованиеотдельный NSData dataWithContentsOfURL: вызов для извлечения содержимого каждого изображения с URL-адресом из данных XML

  4. Запись данных XML (и образа NSData) в таблицу базы данных с CoreData.Добавьте в таблицу индексированное поле отметки времени.

  5. Теперь вы можете использовать поле отметки времени, чтобы хранить самые новые записи «x» в базе данных - и можете удалять старые записи, если / когда вынужно.

  6. Используйте содержимое таблицы базы данных, чтобы заполнить UITableView - или как вы хотите представить.

  7. Сделайте что-то вродеполей «next», «prev» или «update» в UITableView, чтобы получить больше данных из Интернета, если вам нужно отобразить больше данных, чем есть в кэше, или вы хотите обновить данные в кэше.

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