繁体   English   中英

为什么使用AFNetworking而不是dispatch_async?

[英]Why use AFNetworking instead of dispatch_async?

为什么要使用AFNetworking的异步方法,只需使用GCD即可完成异步调用?

dispatch_async(bgQ, ^{

                //NSURLConnection code

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

AFNetworking FAQ顶部详细解答这个问题

虽然NSURLConnection提供了+sendAsynchronousRequest:queue:completionHandler:+sendSynchronousRequest:returningResponse:error: ,但使用AFNetworking有很多好处:

  • AFURLConnectionOperation及其子类继承自NSOperation ,它允许NSOperation取消,挂起/恢复和管理NSOperationQueue
  • AFURLConnectionOperation还允许您轻松地流式上传和下载,处理身份验证挑战,>监控上载和下载进度,以及控制缓存行为或请求。
  • AFHTTPRequestOperation及其子类根据HTTP>状态代码和内容类型区分成功和不成功的请求。
  • AFNetworking包括特定于媒体的请求操作,可将NSData转换为更多可用的格式,如JSON,> XML,图像和属性列表。
  • AFHTTPClient提供了与Web服务交互的便捷界面,包括默认标头,身份验证,>网络可访问性监控,批量操作,查询字符串参数序列化和多部分表单请求。
  • UIImageView+AFNetworking增加了一种异步加载图像的便捷方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM