iphone лучшие практики для извлечения данных JSON для сводной страницы - PullRequest
0 голосов
/ 02 марта 2011

У меня есть вопрос типа архитектуры для вас.Я создаю приложение для ввода времени iphone.У меня есть одна вкладка для ввода данных и другая вкладка для отображения сводных данных по неделям и по месяцам.Я пришел из Интернета, поэтому я склонен делать запрос обратно на сервер каждый раз, когда мне нужны данные.Будучи новичком в iphone, я не уверен, будет ли хорошей идеей делать запрос сводных данных каждый раз, когда нажимается вкладка сводки (через viewWillAppear).Сводные данные представлены в формате JSON, поэтому они довольно легкие.Сводные данные не являются статичными, так как они изменяются по мере ввода данных пользователем.Итак, каковы лучшие практики, когда данные должны быть получены?Есть ли лучший способ узнать, когда извлекать данные?

Ответы [ 2 ]

3 голосов
/ 02 марта 2011

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

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

Edit:

Чтобы объяснить это далее: даже если данные невелики, вы постоянно генерируете трафик без уважительной причины. У некоторых людей есть планы передачи данных, которые измеряют трафик по времени, а не по объему, они буквально платят за каждую секунду, когда они используют ваше приложение ...

0 голосов
/ 02 марта 2011

Посмотрите на ASIHTTPRequest framework, если вы еще этого не сделали.Он поддерживает запросы очередей (с NSOperationQueue или ASINetworkQueue).Вы можете поставить в очередь некоторые запросы, а затем вызвать [queue go], например, в режиме обратного вызова NSTimer.

Реализуйте свой пользовательский интерфейс так, чтобы он отражал активность сети (индикатор сети), и асинхронно обновляйте элементы пользовательского интерфейсакогда доступны новые данные json.

Также попробуйте использовать кэши, как подсказывает Toaster (Подробнее о ASIDownloadCache и т. д.).

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