【问题标题】:Why use AFNetworking instead of dispatch_async?为什么使用 AFNetworking 而不是 dispatch_async?
【发布时间】:2012-10-30 06:11:03
【问题描述】:

当异步调用可以简单地使用 GCD 完成时,为什么要使用 AFNetworking 的异步方法?

dispatch_async(bgQ, ^{

                //NSURLConnection code

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

【问题讨论】:

  • 因为 AFNetworking 已经完成并可以正常工作,而您的代码不是 :p
  • 这只是我输入的问题,它不是正在使用的代码:)
  • 这是一个聪明的问题,@matt 感谢您的回答

标签: objective-c ios networking afnetworking


【解决方案1】:

这个在顶部AFNetworking FAQ有详细解答:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 2021-10-12
    • 2011-10-14
    相关资源
    最近更新 更多