AFNetworking 1.0建立在NSURLConnection的基础API之上 ,
AFNetworking 2.0开始使用NSURLConnection的基础API ,以及较新基于NSURLSession的API的选项。
AFNetworking 3.0现已完全基于NSURLSession的API,这降低了维护的负担,同时支持苹果增强关于NSURLSession提供的任何额外功能。
由于Xcode 7中,NSURLConnection的API已经正式被苹果弃用。虽然该API将继续运行,但将没有新功能将被添加,并且苹果已经通知所有基于网络的功能,以充分使NSURLSession向前发展。
弃用的类:下面的类已从AFNetworking 3.0中废弃:
AFURLConnectionOperation
AFHTTPRequestOperation
AFHTTPRequestOperationManager
修改的类:下面的类包含基于NSURLConnection的API的内部实现。
他们已经被使用NSURLSession重构:
UIImageView+AFNetworking
UIWebView+AFNetworking
UIButton+AFNetworking
AFHTTPRequestOperationManager 核心代码
如果你以前使用 AFHTTPRequestOperationManager , 你将需要迁移去使用 AFHTTPSessionManager。
以下的类在两者过渡间并没有变化:
securityPolicy
requestSerializer
responseSerializer
AFNetworking 2.x
1
2
3
4
5
6
|
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager GET:@ "请求的url" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@ "成功" ); } failure:^(AFHTTPRequestOperation *operation, NSError*error) { NSLog(@ "失败" ); }]; |
AFNetworking 3.0
1
2
3
4
5
6
|
AFHTTPSessionManager *session = [AFHTTPSessionManager manager]; [session GET:@ "请求的url" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) { NSLog(@ "成功" ); } failure:^(NSURLSessionDataTask *task, NSError *error) { NSLog(@ "失败" ); }]; |