当异步调用可以简单地使用 GCD 完成时,为什么要使用 AFNetworking 的异步方法?
dispatch_async(bgQ, ^{
//NSURLConnection code
dispatch_async(dispatch_get_main_queue(), ^{
//UI code
});
});
当异步调用可以简单地使用 GCD 完成时,为什么要使用 AFNetworking 的异步方法?
dispatch_async(bgQ, ^{
//NSURLConnection code
dispatch_async(dispatch_get_main_queue(), ^{
//UI code
});
});
AFNetworking 常见问题解答顶部对此进行了详细解答:
虽然
NSURLConnection
提供+sendAsynchronousRequest:queue:completionHandler:
和+sendSynchronousRequest:returningResponse:error:
,但使用 AFNetworking 有很多好处:
AFURLConnectionOperation
及其子类继承自NSOperation
,它允许请求被取消、> 暂停/恢复,并由NSOperationQueue
.AFURLConnectionOperation
还允许您轻松地流式上传和下载、处理身份验证挑战、 > 监控上传和下载进度,以及控制缓存行为或请求。AFHTTPRequestOperation
及其子类根据 HTTP > 状态码和内容类型区分成功和不成功的请求。- AFNetworking 包括特定于媒体的请求操作,这些操作可以转换
NSData
为更可用的格式,例如 JSON、> XML、图像和属性列表。AFHTTPClient
提供方便的接口与 Web 服务交互,包括默认标头、身份验证、> 网络可达性监控、批处理操作、查询字符串参数序列化和多部分表单请求。UIImageView+AFNetworking
添加了一种方便的方式来异步加载图像。