AFHTTPSessionManager GET: ... не выполняет блоки, когда группа отправки ждет. dispatch_group_wait ждет действительно «НАВСЕГДА». В моем коде @ «все сделано» никогда не бывает.AFNetworking 3.1.0 и группы отправки
Как я могу заставить его работать?
(извините, как я вижу, большинству людей интересно узнать причину использования групп отправки здесь. Причина заключается в выполнении запросов в цикле и ожидании получения последнего ответа. Я намеренно не показывал свой цикл в коде , поскольку цикл не влияет, что блоки не выполняются)
dispatch_group_t group = dispatch_group_create();
NSString *urlString = @"someURLForExampleReturnJSON";
dispatch_group_enter(group);
[self.sessionManager GET:urlString parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject)
{
NSLog(@"success block execution");
dispatch_group_leave(group);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"failure block execution");
dispatch_group_leave(group);
}];
dispatch_group_wait(group, DISPATCH_TIME_FOREVER);
NSLog(@"all done");
хмм я не думаю, что это то, что dispatch_group предназначен для (в частности, как это), то вы, вероятно, следует с помощью dispatch_semaphore вместо – Fonix
я не в состоянии понять, что такое использование 'dispatch_group' здесь ? не могли бы вы объяснить, что вам нужно здесь? почему вы используете 'dispatch_group'? – CodeChanger
лучше, если вы используете dispatch_group_notify – Andrea