Асинхронная загрузка в очереди с использованием NSURLConnection - PullRequest
0 голосов
/ 22 декабря 2011

У меня есть приложение, где пользователь может загружать документы. Пользователь имеет возможность загрузить несколько документов. Многократная загрузка должна происходить одна за другой в последовательности (после окончания загрузки документа вторая должна начаться автоматически).

В настоящее время я использую NSURLConnection для асинхронной загрузки данных (один документ за раз).

Как мне достичь этого, возможно, используя Очередь NSOperation?

Ответы [ 2 ]

2 голосов
/ 22 декабря 2011

Вместо того, чтобы ставить в очередь NSOperations, почему бы не сохранить NSArray «элементов» загрузки (например, URL, который вы хотите загрузить), тогда, когда одна из ваших NSURLConnections завершит загрузку, вы можете проверить массив, и если в нем есть что-то, выможет начать новую загрузку NSURLConnection, а затем удалить только что загруженный элемент.

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

0 голосов
/ 22 декабря 2011

Создать NSOperation объект и добавить его к NSOperationQueue.перейдите по этой

ссылке на ящик NSOperation и NSOperationQueue.

Затем установите для максимальной операции параллелизма одну операцию с использованием NSOperationQueue метода

setMaxConcurrentOperationCount 
...