Кэширование результатов из веб-сервиса PHP для iPhone - PullRequest
0 голосов
/ 17 июня 2010

Я создаю приложение, которое получает набор данных JSON с сервера PHP. У приложения есть представление, которое отображает «фид» нескольких разных недавно добавленных или обновленных элементов с веб-сервера.

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

Пока у меня есть веб-сервис PHP, который обрабатывает ответ JSON, принимая отметку времени last_updated, отправляемую клиентом iphone вместе с запросом веб-сервиса. Затем сервер возвращает все найденные элементы, которые новее, чем last_updated время.

На стороне iPhone у меня есть подключение к веб-сервису, которое возвращает результаты на iphone и отображает их в пользовательских ячейках UITableViewCell. Однако на данный момент приложение будет каждый раз запрашивать данные у веб-службы.

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

Спасибо за понимание.

1 Ответ

2 голосов
/ 17 июня 2010

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

Звучит так, будто вы действительно хотите создать хранилище базовых данных, хотя plist и SQL являются худшими вариантами. Кривая обучения для Core Data относительно крутая, но как только вы ее изучите, все станет проще.

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