Мне нужно скачать очередь изображений.Сначала я создал свои операции, а затем добавил их с помощью метода «enqueue» AFNetworking.
У меня 2 проблемы: 1) У меня не было индикатора выполнения, работающего для очереди (и у меня он работает сочередь пользовательских операций) 2) Я не нашел решения остановить очередь, когда хочу
Я создал первые операции для пакетной обработки и добавления темы в массив:
while ((dict = [enumerator nextObject]))
{
NSMutableURLRequest *request = [[MyHTTPClient sharedClient] requestWithMethod:@"GET" path:@"ws/webapp/services/pull_image" parameters:dict];
AFImageRequestOperation *operation = [AFImageRequestOperation imageRequestOperationWithRequest:request
imageProcessingBlock:nil cacheName:nil
success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image)
{
NSLog(@"image : %@", [image description]);
// process images
}
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error)
{
// manage errors
}];
[operations addObject:operation];
}
ЗатемЯ ставлю в очередь операции:
[[MyHTTPClient sharedClient] enqueueBatchOfHTTPRequestOperations:operations
progressBlock:^(NSUInteger numberOfCompletedOperations, NSUInteger totalNumberOfOperations)
{
float percentDone = ((float)((int)numberOfCompletedOperations) / (float)((int)totalNumberOfOperations));
[delegate syncServicesController:self updateProgressView:percentDone];
}
completionBlock:^(NSArray *operations)
{
//
}];
Итак, загрузка не работает.Но я могу видеть прогресс numberOfCompletedOperations ...?1,2,3,4,5 ... Нужно ли принудительно обновлять представление прогресса в главном потоке?
И когда я пытался остановить сетевые задачи:
- (void)cancelAllRequests
{
[[MyHTTPClient sharedClient] cancelAllHTTPOperationsWithMethod:@"GET" path:@"ws/webapp/services/pull_image"];
}
Я не понимаю, как остановить очередь запросов ... Кажется, это работает, но у меня есть эта ошибка: - [Запрос NSBlockOperation]: нераспознанный селектор отправлен на экземпляр 0x16f54c70