IOS 开发 网络详解(五)--- AF3.0使用
2017-12-24 04:33
253 查看
1.NSUrlConnection的API被弃用
2.弃用的类
3.修改的类
4.代码的迁移
5.Get请求
6.Post请求
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 2.X将继续获得关键的隐患和安全补丁,但没有新的功能将被添加。Alamofire(Swift下的网络请求)软件基金会建议,所有的项目迁移到基于NSURLSession的API。
2.弃用的类
下面的类已从AFNetworking 3.0中废弃: AFURLConnectionOperation AFHTTPRequestOperation AFHTTPRequestOperationManager
3.修改的类
下面的类包含基于NSURLConnection的API的内部实现。他们已经被使用NSURLSession重构: UIImageView+AFNetworking UIWebView+AFNetworking UIButton+AFNetworking
4.代码的迁移
如果你以前使用 AFHTTPRequestOperationManager , 你将需要迁移去使用 AFHTTPSessionManager。 以下的类在两者过渡间并没有变化: securityPolicy requestSerializer responseSerializer 接下来举一个关于AFHTTPSessionManager的简单例子。注意HTTP网络请求返回的不再是AFHTTPRequestOperation, 修改成为了NSURLSessionTask,并且成功和失败的Block块中的参数也变更为了NSURLSessionTask,而不再是AFHTTPRequestOperation。 AFNetworking 2.x AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager GET:@"请求的url" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"成功"); } failure:^(AFHTTPRequestOperation *operation, NSError*error) { NSLog(@"失败"); }]; AFNetworking 3.0 AFHTTPSessionManager *session = [AFHTTPSessionManager manager]; [session GET:@"请求的url" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) { NSLog(@"成功"); } failure:^(NSURLSessionDataTask *task, NSError *error) { NSLog(@"失败"); }];
5.Get请求
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; [manager GET:@"http://example.com/resources.json" parameters:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) { NSLog(@"JSON: %@", responseObject); } failure:^(NSURLSessionTask *operation, NSError *error) { NSLog(@"Error: %@", error); }];
6.Post请求
AFHTTPSessionManager *session = [AFHTTPSessionManager manager]; session.requestSerializer = [AFJSONRequestSerializer serializer]; NSMutableDictionary *params = [NSMutableDictionary dictionary]; params[@"start"] = @"1"; params[@"end"] = @"5"; [session POST:urlStr parameters:params progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSLog(@"请求成功"); } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { NSLog(@"请求成功"); }];
相关文章推荐
- IOS 开发 网络详解(六)--- AF3.0基本API
- iOS开发--Swift 基于AFNetworking 3.0的网络请求封装
- iOS开发——使用Charles进行https网络抓包详解
- iOS开发——使用Charles进行http网络抓包详解
- IOS 开发 网络详解(四)--- AF的大体思路
- IOS 开发 网络详解(八)--- AFSecurityPolicy
- iOS开发 之 AFNetworking3.0使用详解
- iOS开发——使用Charles进行https网络抓包详解
- 【iOS开发】---- UITabBarController的使用详解
- 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!【2012-12-11日更新获取"产品付费数量等于0的问题"】
- 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!
- 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程
- ios 开发之使用Reachability检测网络状态
- 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!【2012-12-11日更新获取”产品付费数量等于0的问题”】
- IOS网络开发之如何使用NSURLConnection
- Objective-C ,ios,iphone开发基础:picker控件详解与使用,(实现省市的二级联动)
- 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!【2012-6-25日更新iap恢复详解】
- 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!2012-6-25日更新iap恢复
- 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!2012-6-25日更新iap恢复
- 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!