Зачем использовать AFNetworking вместо dispatch_async? - программирование

Зачем использовать AFNetworking вместо dispatch_async?

Почему нужно использовать методы асинхронного AFNetworking, когда асинхронный вызов можно выполнить просто с помощью GCD?

dispatch_async(bgQ, ^{

                //NSURLConnection code

                dispatch_async(dispatch_get_main_queue(), ^{
                    //UI code
                });
});
4b9b3361

Ответ 1

Об этом подробно сказано в верхней части FAQ AFNetworking:

Пока NSURLConnection предоставляет +sendAsynchronousRequest:queue:completionHandler: и +sendSynchronousRequest:returningResponse:error:, существует много преимуществ использования AFNetworking:

  • AFURLConnectionOperation, и его подклассы наследуют от NSOperation, что позволяет отменять запросы, приостанавливать/возобновлять и управлять с помощью NSOperationQueue.
  • AFURLConnectionOperation также позволяет легко загружать и загружать потоки, обрабатывать задачи аутентификации, отслеживать загрузку и загрузку, контролировать поведение или запросы кэширования.
  • AFHTTPRequestOperation, а его подклассы различают успешные и неудачные запросы на основе HTTP > кодов состояния и типа содержимого.
  • AFNetworking включает в себя операции с конкретным носителем, которые преобразуют NSData в более доступные форматы, такие как JSON, > XML, изображения и списки свойств.
  • AFHTTPClient обеспечивает удобный интерфейс для взаимодействия с веб-службами, включая заголовки по умолчанию, аутентификацию, мониторинг доступности сети, пакетные операции, сериализацию параметров строки запроса и запросы с множественной формой.
  • UIImageView+AFNetworking добавляет удобный способ асинхронной загрузки изображений.