Успешный обратный вызов AFHTTPSessionManager находится в главном потоке
У меня есть запрос с использованием AFHTTPSessionManager:
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[manager.requestSerializer setAuthorizationHeaderFieldWithUsername:@"username" password:@"password"];
[manager GET:[NSString stringWithFormat:@"%@post/%ld",C_baseURL,(long)post_id] parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
// this called not in main thread
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
// this called in main thread
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
// this called in main thread
}];
Я проверяю, что success
а также failure
обратный вызов в основном потоке.
Как сделать так, чтобы эти обратные вызовы не запускались в основном потоке, например progress
Перезвоните?
1 ответ
Решение
Вы можете установить operationQueue
выбрать способ вызова методов делегата и completionQueue
выбрать, как блоки завершения называются.