Ios 在几乎同时发布两个请求时,响应是混乱的
我正在使用AFNetworking 2.0从服务器获取数据。在我的AppDelegate中,我几乎同时发布了两个请求,响应1有时返回到请求2,请求1超时。Ios 在几乎同时发布两个请求时,响应是混乱的,ios,afnetworking-2,Ios,Afnetworking 2,我正在使用AFNetworking 2.0从服务器获取数据。在我的AppDelegate中,我几乎同时发布了两个请求,响应1有时返回到请求2,请求1超时。 这是我的http客户端类,有什么问题吗?请帮我做这个,非常感谢 .h #import <Foundation/Foundation.h> #import <AFNetworking.h> @interface HttpClient : AFHTTPRequestOperationManager + (instanc
这是我的http客户端类,有什么问题吗?请帮我做这个,非常感谢 .h
#import <Foundation/Foundation.h>
#import <AFNetworking.h>
@interface HttpClient : AFHTTPRequestOperationManager
+ (instancetype)sharedHTTPClient;
- (instancetype)initWithBaseURL:(NSURL *)url;
- (NSDictionary *)getDataWithDictionary : (NSDictionary *) dic
success : (void (^)(NSDictionary* dictionary))success
failure : (void (^)(NSError *error))failure
networkError : (void (^)(BOOL isNetworkError))networkError;
@end
如果您单独执行request1,会发生什么情况?也许您可以分享如何调用
getDataWithDictionary
,因为这几乎肯定不是网络问题。另外,我不清楚为什么getDataWithDictionary
返回NSDictionary
,因为它总是返回nil
。最好返回POST
返回的AFHTTPRequestOperation
(以防将来您希望能够取消请求和/或测试操作是否成功创建)。
@implementation HttpClient
+ (instancetype)sharedHTTPClient{
static HttpClient *_sharedHTTPClient = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_sharedHTTPClient = [[self alloc] initWithBaseURL:[NSURL URLWithString:kReachability]];
});
return _sharedHTTPClient;
}
- (instancetype)initWithBaseURL:(NSURL *)url{
self = [super initWithBaseURL:url];
if (self) {
self.responseSerializer = [AFHTTPResponseSerializer serializer];
}
return self;
}
- (NSDictionary *)getDataWithDictionary : (NSDictionary *) dic
success : (void (^)(NSDictionary* dictionary))success
failure : (void (^)(NSError *error))failure
networkError : (void (^)(BOOL isNetworkError))networkError{
if ([CheckNetwork isExistenceNetwork]) {
[self POST:[NSString stringWithFormat:@"%@%@",kReachability,@"/interfaces/"]
parameters:parameters
success:^(AFHTTPRequestOperation *operation, id responseObject) {
}failure:^(AFHTTPRequestOperation *operation, NSError *error) {
}];
}else{
}
return nil;
}
@end