手机
当前位置:查字典教程网 >编程开发 >IOS开发 >iOS判断网络请求超时的方法
iOS判断网络请求超时的方法
摘要:本文介绍了iOS判断网络请求超时的方法,代码具体如下:+(AFHTTPRequestOperation*)requestOperationW...

本文介绍了iOS判断网络请求超时的方法,代码具体如下:

+ (AFHTTPRequestOperation *)requestOperationWithUrl:(NSString *)url requetMethod:(NSString *)method paramData:(NSDictionary *)aParamData constructingBodyWithBlock:(void (^)(id <AFMultipartFormData> formData))block success:(successBlock)success failure:(failureBlock)failure { AFHTTPRequestSerializer *requestSerializer = [AFJSONRequestSerializer serializer]; NSMutableURLRequest *request; if (block) { method = @"POST"; request = [requestSerializer multipartFormRequestWithMethod:method URLString:url parameters:aParamData constructingBodyWithBlock:block error:nil]; }else{ request = [requestSerializer requestWithMethod:method URLString:url parameters:aParamData error:nil]; } AFHTTPRequestOperation *op = [[AFHTTPRequestOperation alloc] initWithRequest:request]; AFJSONResponseSerializer *responseSerializer = [AFJSONResponseSerializer serializer]; responseSerializer.removesKeysWithNullValues = YES; responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"]; op.responseSerializer = responseSerializer; __weak AFHTTPRequestOperation *weakOp = op; [op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { if ([responseObject[@"code"] integerValue] == 0) { if (success) { // success(weakOp, aParamData, responseObject[@"list"]); success(weakOp, aParamData, responseObject); } }else{ NSLog(@"operation error msg = [%@]", responseObject[@"description"]); if (failure) { failure(weakOp, aParamData, [self errorWithRet:responseObject]); } } } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"operation failed = [%@] error = [%@]", operation, error); if (failure) { failure(weakOp, aParamData, error); } }]; return op; }

打印 error

Error Domain=NSURLErrorDomain Code=-1001 "请求超时。" UserInfo={ NSErrorFailingURLStringKey=http://123.56.109.92/refitcar/service.s?sn=, _kCFStreamErrorCodeKey=-2102, NSErrorFailingURLKey=http://123.56.109.92/refitcar/service.s?sn=, NSLocalizedDescription=请求超时。, _kCFStreamErrorDomainKey=4, NSUnderlyingError=0x167da8e0 { Error Domain=kCFErrorDomainCFNetwork Code=-1001 "请求超时。" UserInfo={ _kCFStreamErrorCodeKey=-2102, NSErrorFailingURLStringKey=http://123.56.109.92/refitcar/service.s?sn=, NSErrorFailingURLKey=http://123.56.109.92/refitcar/service.s?sn=, NSLocalizedDescription=请求超时。, _kCFStreamErrorDomainKey=4 } } }

可见:

po error.localizedDescription 请求超时。

po error.code -1001

po error.userInfo { NSErrorFailingURLKey = "http://123.56.109.92/refitcar/service.s"; NSErrorFailingURLStringKey = "http://123.56.109.92/refitcar/service.s"; NSLocalizedDescription = "U8bf7U6c42U8d85U65f6U3002"; NSUnderlyingError = "Error Domain=kCFErrorDomainCFNetwork Code=-1001 "U8bf7U6c42U8d85U65f6U3002" UserInfo={_kCFStreamErrorCodeKey=-2102, NSErrorFailingURLStringKey=http://123.56.109.92/refitcar/service.s?sn=, NSErrorFailingURLKey=http://123.56.109.92/refitcar/service.s?sn=, NSLocalizedDescription=U8bf7U6c42U8d85U65f6U3002, _kCFStreamErrorDomainKey=4}"; "_kCFStreamErrorCodeKey" = "-2102"; "_kCFStreamErrorDomainKey" = 4; }

所以使用 error.code是否等于 -1001 判断请求超时

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持查字典教程网。

【iOS判断网络请求超时的方法】相关文章:

iOS开发中使用屏幕旋转功能的相关方法

IOS判断字符串是不是纯数字的方法总结

iOS 运行时添加属性和方法

判断iOS应用是否开放HTTP权限的方法

iOS中SQLite的操作方法

ios 获取汉字拼音的方法比较

ios开发中时间转换的方法集锦

iOS Xcode8更新后输出log日志关闭的方法

浅析iOS给图片加水印的方法

IOS关闭键盘的方法

精品推荐
分类导航