iOS开发:对AFNetworking进行封装
2016-12-07 09:27
176 查看
网上也有很多的对AFNetworking进行封装的方法,此处我只是简单的记录一下;
首先,我们创建一个继承与NSObject的类,定义两个属性,分别是请求成功和请求失败的,.h中的代码如下:
.m中的实现如下:
以上只是对post和get请求的封装,如果有好的建议和好的文章,我很乐意学习!
文/First灬DKS(简书作者)
原文链接:http://www.jianshu.com/p/bf4e62fe9474
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
首先,我们创建一个继承与NSObject的类,定义两个属性,分别是请求成功和请求失败的,.h中的代码如下:
#import <Foundation/Foundation.h> typedef void (^SuccessBlock)(NSDictionary *data); typedef void (^FailureBlock)(NSError *error); @interface SYNetworkingManager : NSObject @property (nonatomic, copy) SuccessBlock successBlock; @property (nonatomic, copy) FailureBlock failureBlock; /** * 发送get请求 * * @param URLString 请求的网址字符串 * @param parameters 请求的参数 * @param success 请求成功的回调 * @param failure 请求失败的回调 */ + (void)getWithURLString:(NSString *)urlString parameters:(id)parameters success:(SuccessBlock)successBlock failure:(FailureBlock)failureBlock; /** * 发送post请求 * * @param URLString 请求的网址字符串 * @param parameters 请求的参数 * @param success 请求成功的回调 * @param failure 请求失败的回调 */ + (void)postWithURLString:(NSString *)urlString parameters:(id)parameters success:(SuccessBlock)successBlock failure:(FailureBlock)failureBlock; @end
.m中的实现如下:
+ (void)getWithURLString:(NSString *)urlString parameters:(id)parameters success:(SuccessBlock)successBlock failure:(FailureBlock)failureBlock { AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; /** * 可以接受的类型 */ manager.responseSerializer = [AFHTTPResponseSerializer serializer]; /** * 请求队列的最大并发数 */ // manager.operationQueue.maxConcurrentOperationCount = 5; /** * 请求超时的时间 */ manager.requestSerializer.timeoutInterval = outTime; [manager GET:urlString parameters:parameters progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { if (successBlock) { NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil]; successBlock(dic); } } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { if (failureBlock) { failureBlock(error); NSLog(@"网络异常 - T_T%@", error); } }]; } + (void)postWithURLString:(NSString *)urlString parameters:(id)parameters success:(SuccessBlock)successBlock failure:(FailureBlock)failureBlock { AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.responseSerializer = [AFHTTPResponseSerializer serializer]; manager.requestSerializer.timeoutInterval = outTime; [manager POST:urlString parameters:parameters progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { if (successBlock) { NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil]; successBlock(dic); } } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { if (failureBlock) { failureBlock(error); NSLog(@"网络异常 - T_T%@", error); } }]; }
以上只是对post和get请求的封装,如果有好的建议和好的文章,我很乐意学习!
文/First灬DKS(简书作者)
原文链接:http://www.jianshu.com/p/bf4e62fe9474
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
相关文章推荐
- iOS开发--Swift 基于AFNetworking 3.0的网络请求封装
- 【IOS开发】swift版的AFNETworking之Alamofire的用法 图片上传
- IOS中json字符串原生数据请求&IOS跨平台AES128字符串加解密&AFNetworking框架的简单封装使用
- 源码推荐(01.04B):基于AFNetworking3.0的网络请求封装,iOS仿苹果健康折线图
- iOS开发 --- AFNetworking 进行封装(POST请求遇到的问题)
- iOS开发--基于AFNetWorking3.0的图片缓存分析
- iOS开发中图片下载缓存AFNetWorking VS SDWebImage
- iOS 开发笔记——The dependency `AFNetworking (~> 2.5.4)` is not used in any concrete target.
- iOS开发:AFNetworking、MKNetworkKit和ASIHTTPRequest比较
- IOS开发之—— 在AFN基础上进行的网络请求的封装
- iOS开发:对于AFNetworking HTTP转HTTPS请求证书问题
- ios开发找不到afnetworking libary
- iOS开发中AFNetworking中如何设置https请求(使用自建证书)
- iOS开发-pod install 出错 The dependency `AFNetworking (~> 2.6.0)` is not used in any concrete target.
- iOS 对基于AFNetworking框架网络请求的简单封装
- iOS开发:AFNetworking、MKNetworkKit和ASIHTTPRequest比较
- iOS开发:对于AFNetworking HTTP转HTTPS请求证书问题
- iOS开发架构封装异步请求案例实现
- [iOS开发高效第三方库之]sqlite3封装库---FMDB
- 【iOS-Cocos2d游戏开发之十四】音频/音效/视频播放(利用Cocos2D-iPhone-Extensions嵌入Cocos2d进行视频播放!)