Очередь AFNetwork 2.0 с блоком завершения?

Как создать очередь в AFNetwork 2.0 и установить обработчик завершения для завершения добавленных аберраций?

в настоящее время у меня есть это

ASINetworkQueue *queue = [[ASINetworkQueue alloc] init];

[queue setDelegate:self];
[queue setQueueDidFinishSelector:@selector(refeshInterface)];

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[queue addOperation:request];

ASIFormDataRequest *request2 = [ASIFormDataRequest requestWithURL:url2];
[queue addOperation:request2];

[queue go]

Но мне нужно преобразовать его в AFNetwork. Все решения, которые я нашел до сих пор, похоже, используют AFHTTPClient, которого нет в AFNetwork 2.0.

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

Спасибо!

1 ответ

Решение

Тебе нужно

+ (NSArray *)batchOfRequestOperations:(NSArray *)operations
                        progressBlock:(void (^)(NSUInteger numberOfFinishedOperations, NSUInteger totalNumberOfOperations))progressBlock
                      completionBlock:(void (^)(NSArray *operations))completionBlock

метод AFURLConnectionOperation.

Пожалуйста, посмотрите на следующий образец

NSMutableArray *operations = [NSMutableArray array];

for (DGSocialImage *socialImage in socialImages) {
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:socialImage.url];
    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
    operation.responseSerializer = [AFImageResponseSerializer new];
    [operations addObject:operation];
}
NSArray *batchOperations = [AFURLConnectionOperation batchOfRequestOperations:operations
                                                                progressBlock:NULL
                                                              completionBlock:^(NSArray *operations) {
    NSError *error;
    for (AFHTTPRequestOperation *op in operations) {
        if (op.isCancelled){
            return ;
        }
        if (op.responseObject){
            // process your responce here
        }
        if (op.error){
            error = op.error;
        }
    }
}];
[[NSOperationQueue mainQueue] addOperations:batchOperations waitUntilFinished:NO];
Другие вопросы по тегам