这个封装类包含了就请求,帖子请求,上传图片,上传多张图片,下载图片,判断网络是否可用等功能。
# import & lt;基?Foundation.h> @ interface HttpUtil: NSObject typedef NS_ENUM (NSInteger NetworkReachabilityStatus) {NetworkReachabilityStatusUnknown=1, NetworkReachabilityStatusNotReachable=0, NetworkReachabilityStatusReachableViaWWAN=1, NetworkReachabilityStatusReachableViaWiFi=2, };//得到请求 + (void) getWithURLString: URLString (NSString *) 参数:参数(id) 成功:(空白(^)(id))的成功 失败:(空白(^)(NSError *误差))失败;//后请求 + (void) postWithURLString: URLString (NSString *) 参数:参数(id) 成功:(空白(^)(id))的成功 失败:(空白(^)(NSError *))失败;//上传图片 + (void) uploadWithURLString: URLString (NSString *) 参数:参数(id) uploadData uploadData:(NSData *) uploadName NSString uploadName:(*) 成功:成功(空白(^)()) 失败:(空白(^)(NSError *))失败;//上传多张图片 + (void) uploadMostImageWithURLString: URLString (NSString *) 参数:参数(id) uploadDatas NSArray uploadDatas:(*) uploadName NSString uploadName:(*) 成功:成功(空白(^)()) 失败:(空白(^)(NSError *))失败; + (void) DownLoadWithUrlString: URLString (NSString *) 参数:参数(id) 进展:(空白(^)(id))的进展 成功:(空白(^)(NSURL * filePath))成功; + (void) setReachabilityStatusChangeBlock:(无效(^)(NetworkReachabilityStatus状态))块; + (void) stopMonitoring; +(布尔)JudgeNetisConnect; @end
#进口“HttpUtil.h” #进口“AFNetworking.h” @ implementation HttpUtil # pragma马克——得到请求— + (void) getWithURLString: URLString (NSString *) 参数:参数(id) 成功:(空白(^)(id))的成功 失败:(空白(^)(NSError *误差)){失败 AFHTTPSessionManager *经理=(AFHTTPSessionManager经理); manager.requestSerializer。timeoutInterval=10; manager.responseSerializer。acceptableContentTypes=[NSSet setWithObjects: @“application/json”@“文本/json”, @“text/plain”@“text/html”, nil); (经理得到:URLString参数:参数进展:nil成功:^ (NSURLSessionDataTask * _Nonnull任务id _Nullable responseObject) { 如果(responseObject) { 成功(responseObject); } }失败:^ (NSURLSessionDataTask * _Nullable任务,NSError * _Nonnull错误){ 如果(错误){ 失败(错误); } }); } # pragma马克——帖子请求— + (void) postWithURLString: URLString (NSString *) 参数:参数(id) 成功:(空白(^)(id))的成功 失败:(空白(^)(NSError *)){失败 AFHTTPSessionManager *经理=(AFHTTPSessionManager经理);//manager.requestSerializer。HTTPMethodsEncodingParametersInURI=[NSSet setWithArray: @ @“POST”@“得到”,@ "头"]]; manager.requestSerializer。timeoutInterval=10; manager.responseSerializer。acceptableContentTypes=[NSSet setWithObjects: @“application/json”@“文本/json”, @“text/plain”@“text/html”, nil); (经理职位:URLString参数:参数进展:nil成功:^ (NSURLSessionDataTask * _Nonnull任务id _Nullable responseObject) { 如果(成功){ 成功(responseObject); } }失败:^ (NSURLSessionDataTask * _Nullable任务,NSError * _Nonnull错误){ 如果失败(){ 失败(错误); } }); } # pragma马克——上传图片— + (void) uploadWithURLString: URLString (NSString *) 参数:参数(id) uploadData uploadData:(NSData *) uploadName NSString uploadName:(*) 成功:成功(空白(^)()) 失败:(空白(^)(NSError *)){失败 AFHTTPSessionManager *经理=(AFHTTPSessionManager经理); manager.responseSerializer。acceptableContentTypes=[NSSet setWithObjects: @“application/json”@“文本/json”, @“text/plain”@“text/html”, nil); (经理职位:URLString参数:参数constructingBodyWithBlock: ^ (idiOS AFNetworking各种功能封装类代码