iOS: очередь HTTP-вызовов - PullRequest
       17

iOS: очередь HTTP-вызовов

1 голос
/ 15 февраля 2012

Я работаю над приложением, которое позволяет пользователям управлять (CRUD) контентом, хранящимся на сервере.Я зеркально отображаю некоторые данные в локальном хранилище (Core Data).

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

Какова общая практика для достижения этой цели?Есть ли рамки с этими функциями?

Ответы [ 2 ]

3 голосов
/ 15 февраля 2012

ASIHTTPRequest также имеет пример использования NSOperationQueue и собственной версии очереди:

http://allseeing -i.com / ASIHTTPRequest / Как в использовании # using_a_queue

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

Однако для работы в автономном режиме вам может потребоваться отправить их в «очередь» в вашей базе данных, вытащить их, когда у вас есть соединение (или когда пользователь нажмет на синхронизацию), и добавить их в ваш NSOperationQueue , NSOperationQueue позволяет вам приостановить планирование (и повторно активировать его), но я не уверен, что оно действительно может действовать как постоянное хранилище действий в очереди.

0 голосов
/ 15 февраля 2012

Я считаю, что NSOperationQueue - это то, что вы ищете.https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSOperationQueue_class/Reference/Reference.html

...