Как да използвате NSOperationQueue за изтегляне на аудио файлове от сървъра един по един

Имам масив, съдържащ URL адреси на аудио файлове. Искам да извлека аудио файлове от сървъра, като използвам тези URL адреси във фонов режим. Чувал съм, че мога да постигна това с NSOperationQueue. Моето запитване е

1) Как мога да постигна това.

2) Как мога да получа обратно обаждане при завършване/неуспех на една операция

3) Как мога да получа обратно обаждане след приключване на целия процес.

Имам нужда от тези обаждания, за да следя процеса на изтегляне, така че да мога да актуализирам базата си данни относно състоянието на изтегляне на файлове. Така че, в случай на загуба на интернет връзка, мога да изтегля отново останалите файлове.

Всяка идея ще бъде полезна, тъй като съм нов в NSOperationQueue.


person Mahesh Paymal    schedule 23.05.2013    source източник


Отговори (2)


Изглежда, че AFNetworking има всичко, от което се нуждаете (блокове за обратно извикване за успех/неуспех, заявки за поставяне в NSOperationQueue). Във вашия случай вероятно AFHttpClient и неговият enqueueHTTPRequestOperation метод ще свършат работа.

person Michał Ciuba    schedule 23.05.2013

NSOperationQueue *queue = [NSOperationQueue new];
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(download:) object:aAudio];
[queue addOperation:operation];//added code
[operation release];   

сега правете каквото искате в метод download. според документ набор [queue setMaxConcurrentOperationCount:1] за един по един.

person user23790    schedule 23.05.2013
comment
Съжалявам за късния ми отговор, но го направих с помощта на библиотеката ASIHTTPRequest. Лесен за прилагане и ми дава всичко, което искам. Но по-късно открих, че е остарял. Така че потърсихте в Google и намерих някои полезни библиотеки, за да постигнете това. Един от тях е споменат от Michał Ciuba в горните коментари. Следното може да се използва за такива операции 1) AFNetworking 2) LRResty 3) RestKit 4) AWS SDK за iOS 5) ShareKit 6) NSURLRequest/NSURLConnection За повече подробности връзка - person Mahesh Paymal; 17.07.2013