Скачать очередь в iPhone - PullRequest
       17

Скачать очередь в iPhone

1 голос
/ 28 августа 2010

Какой лучший способ реализовать очередь загрузки в iPhone?Можно ли это сделать с помощью библиотеки ASIHTTPRequest?

Ответы [ 2 ]

3 голосов
/ 28 августа 2010

Я думаю, что это не сложно реализовать. Вот моя стратегия:

1 / У вас есть массив задач (проще говоря, просто массив URL-адресов) для хранения списка URL-адресов для загрузки

2 / У вас может быть одноэлементный объект, который всякий раз, когда вы помещаете URL в очередь, вы информируете об этом.

3 / Когда объект-одиночка получает информацию, он проверяет, свободен ли он для выполнения работы. Если это так, он берет первый URL из очереди, вызывает асинхронный запрос к серверу. Он установил свое состояние, чтобы быть занятым.

4 / Когда асинхронный запрос перезвонит, синглтон снова проверяет очередь, чтобы убедиться, что она пуста. Если это не так, то получите следующий URL, повторите шаг 3. Если он пуст, то объект-одиночка устанавливает свое состояние как свободное, тогда следующий объект, помещающий что-либо в очередь загрузки, может сообщить об этом объекту-одиночке.

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

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

2 голосов
/ 29 августа 2010

ASIHTTPRequest включает в себя объект ASINetworkQueue, который можно использовать в качестве очереди загрузки, см.

http://allseeing -i.com / ASIHTTPRequest / How-to-use # about_ASINetworkQueues

Затем вы можете отслеживать весь процесс следующим образом:

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

...