Как непрерывно обновлять данные в приложении, не вызывая API через некоторый промежуток времени? - PullRequest
0 голосов
/ 16 мая 2018

Я хочу знать, как я могу обновлять данные в моем iOS-приложении непрерывно, не вызывая API время от времени. Как, например, если у меня есть список продуктов в моем tableView, и я хочу обновить цену каждого продукта с сервера, потому что он постоянно меняется.

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

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 16 мая 2018

Это подходы в iOS для постоянного обновления данных, поступающих с какого-либо сервера.

  1. Опрос

    Опрос - это термин, используемый для постоянного запроса сервера с использованием некоторых POST или GET запрос после регулярного или нерегулярного интервала времени.
  2. Push-уведомление

    Silent Push-Notification - это подход к обновлению данных всякий раз, когда происходят изменения.В этом типе сервер генерирует и запрашивает Apple , чтобы отправить уведомление с некоторыми пользовательскими JSON.Это быстрый, но негарантированный подход.Потому что Push может быть пропущено некоторое время или может быть задержано некоторое время.
  3. Сокет

    Socket является наиболее надежным и точным решением для таких проблем, в которых приложение должно обновить своиclient-end всякий раз, когда происходят изменения в их back-end.Потому что он всегда поддерживает прямую связь с сервером, поэтому вам не нужно каждый раз запрашивать сервер.
0 голосов
/ 16 мая 2018

Если вы хотите получать частые «данные» с вашего сервера, вы можете использовать такие технологии, как или WebSockets или длинный HTTP-опрос (который имитирует проталкивание опрос).

Библиотека Socket.IO-Client-Swift предоставляет подробные сведения о них и предоставляет удобный интерфейс для приложения.

Использование простых старых TCP-сокетов - третий вариант.

Здесь я предполагаю, что ваша частота обновления составляет порядка 10 минут или быстрее (до десятков секунд). Если у вас обновления обновляются реже, например, ежечасно, то Apple Push (также известное как удаленное) уведомление также должно работать.

0 голосов
/ 16 мая 2018

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

Справочник по программированию сокетов:

https://www.raywenderlich.com/157128/real-time-communication-streams-tutorial-ios

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