Асинхронная фоновая загрузка с использованием стандартных классов iOS и т. Д. - PullRequest
0 голосов
/ 18 марта 2012

Я хочу загрузить несколько страниц через https, используя NSURLConnection и NSOperationQueue (?).Я не хочу использовать ASIHTTPRequest или подобное, так как я не хочу, чтобы мой код зависел от того, будут ли они обновлять свой код (при необходимости), когда Apple обновит iOS.Я хочу использовать простые вещи Apple.

Будет загружено около 100 страниц, у них есть ссылка на изображение, которое также должно быть загружено.Эта ссылка не известна до загрузки предыдущей страницы.Я полагаю, что 5 или, возможно, несколько одновременных загрузок должны выполняться одновременно.

Как мне отслеживать все и ход моих загрузок и в то же время добиться адаптивного пользовательского интерфейса?

1 Ответ

0 голосов
/ 19 марта 2012

Я думаю, что вы можете использовать NSURLConnection и NSOperationQueue, как вы уже написали.NSURLConnection имеет функцию класса

+ (void)sendAsynchronousRequest:(NSURLRequest *)request queue:(NSOperationQueue *)queue completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*))handler

Там вы можете определить, к какому NSOperationQueue он должен принадлежать, и вы можете определить обработчик завершения.Обработчик - это блок, который будет выполнен после завершения NSURLConnection.В блоке вы можете получить доступ к NSURLResponse.Поскольку все дело в асинхронном пользовательском интерфейсе, к которому вы будете доступны.

Одним большим преимуществом здесь является то, что блоки могут выполняться на разных ядрах процессора.

...