AFNetworking - 内部调用函数
AFNetworking - call function inside
我正在使用 AFNetworking,对此我有疑问,我想在 return 值正确时调用一个不同的函数
- (AFHTTPRequestOperation *)GET:(NSString *)URLString
parameters:(id)parameters
success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure
{
AFHTTPRequestOperation *operation = [self HTTPRequestOperationWithHTTPMethod:@"GET" URLString:URLString parameters:parameters success:^(AFHTTPRequestOperation
*requestOperation, __unused id responseObject) {
if (success) {
int status = [[responseObject objectForKey:@"Status"] intValue];
else if(status == -1)
{
[self HTTPRequestOperationWithHTTPMethod:@"GET" URLString:URLString parameters:parameters success:^(AFHTTPRequestOperation *requestOperation, __unused id responseObject) {
if (success) {
NSLog(@"adfasdfasdfasdf");
success(requestOperation,responseObject);
}
} failure:^(AFHTTPRequestOperation * operation, NSError *error) {
NSLog(@"ERROR: %@", error);
failure(nil, error);
}];
}
else
success(requestOperation,responseObject);
}
} failure:failure];
operation.securityPolicy.allowInvalidCertificates = YES;
operation.securityPolicy.validatesDomainName = NO;
[self.operationQueue addOperation:operation];
return operation;
}
当状态 = -1 时。我会用上面的参数调用更多函数,但不起作用。
else if(status == -1)
{
[self HTTPRequestOperationWithHTTPMethod:@"GET" URLString:URLString parameters:parameters success:^(AFHTTPRequestOperation *requestOperation, __unused id responseObject) {
if (success) {
NSLog(@"adfasdfasdfasdf");
success(requestOperation,responseObject);
}
} failure:^(AFHTTPRequestOperation * operation, NSError *error) {
NSLog(@"ERROR: %@", error);
failure(nil, error);
}];
}
运行 应用程序和我的 bug 功能无法调用成功或失败。
您不需要在 AFNetworking 中使用条件检查成功或失败。 AFNetworking 提供块。
遵循以下代码:
- (AFHTTPRequestOperation *)GET:(NSString *)URLString
parameters:(id)parameters
success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure
{
AFHTTPRequestOperation *operation = [self HTTPRequestOperationWithHTTPMethod:@"GET" URLString:URLString parameters:parameters success:^(AFHTTPRequestOperation
*requestOperation, __unused id responseObject) {
int status = [[responseObject objectForKey:@"Status"] intValue];
if(status == -1)
{
[self HTTPRequestOperationWithHTTPMethod:@"GET" URLString:URLString parameters:parameters success:^(AFHTTPRequestOperation *requestOperation, __unused id responseObject) {
NSLog(@"adfasdfasdfasdf");
success(requestOperation,responseObject);
} failure:^(AFHTTPRequestOperation * operation, NSError *error) {
NSLog(@"ERROR: %@", error);
failure(nil, error);
}];
}
else
success(requestOperation,responseObject);
}
} failure:failure];
operation.securityPolicy.allowInvalidCertificates = YES;
operation.securityPolicy.validatesDomainName = NO;
[self.operationQueue addOperation:operation];
return operation;
}
if (success) {
int status = [[responseObject objectForKey:@"Status"] intValue];
else if(status == -1)
{
你确定这个 if 和 else if 是一对吗?
我正在使用 AFNetworking,对此我有疑问,我想在 return 值正确时调用一个不同的函数
- (AFHTTPRequestOperation *)GET:(NSString *)URLString
parameters:(id)parameters
success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure
{
AFHTTPRequestOperation *operation = [self HTTPRequestOperationWithHTTPMethod:@"GET" URLString:URLString parameters:parameters success:^(AFHTTPRequestOperation
*requestOperation, __unused id responseObject) {
if (success) {
int status = [[responseObject objectForKey:@"Status"] intValue];
else if(status == -1)
{
[self HTTPRequestOperationWithHTTPMethod:@"GET" URLString:URLString parameters:parameters success:^(AFHTTPRequestOperation *requestOperation, __unused id responseObject) {
if (success) {
NSLog(@"adfasdfasdfasdf");
success(requestOperation,responseObject);
}
} failure:^(AFHTTPRequestOperation * operation, NSError *error) {
NSLog(@"ERROR: %@", error);
failure(nil, error);
}];
}
else
success(requestOperation,responseObject);
}
} failure:failure];
operation.securityPolicy.allowInvalidCertificates = YES;
operation.securityPolicy.validatesDomainName = NO;
[self.operationQueue addOperation:operation];
return operation;
}
当状态 = -1 时。我会用上面的参数调用更多函数,但不起作用。
else if(status == -1)
{
[self HTTPRequestOperationWithHTTPMethod:@"GET" URLString:URLString parameters:parameters success:^(AFHTTPRequestOperation *requestOperation, __unused id responseObject) {
if (success) {
NSLog(@"adfasdfasdfasdf");
success(requestOperation,responseObject);
}
} failure:^(AFHTTPRequestOperation * operation, NSError *error) {
NSLog(@"ERROR: %@", error);
failure(nil, error);
}];
}
运行 应用程序和我的 bug 功能无法调用成功或失败。
您不需要在 AFNetworking 中使用条件检查成功或失败。 AFNetworking 提供块。
遵循以下代码:
- (AFHTTPRequestOperation *)GET:(NSString *)URLString
parameters:(id)parameters
success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure
{
AFHTTPRequestOperation *operation = [self HTTPRequestOperationWithHTTPMethod:@"GET" URLString:URLString parameters:parameters success:^(AFHTTPRequestOperation
*requestOperation, __unused id responseObject) {
int status = [[responseObject objectForKey:@"Status"] intValue];
if(status == -1)
{
[self HTTPRequestOperationWithHTTPMethod:@"GET" URLString:URLString parameters:parameters success:^(AFHTTPRequestOperation *requestOperation, __unused id responseObject) {
NSLog(@"adfasdfasdfasdf");
success(requestOperation,responseObject);
} failure:^(AFHTTPRequestOperation * operation, NSError *error) {
NSLog(@"ERROR: %@", error);
failure(nil, error);
}];
}
else
success(requestOperation,responseObject);
}
} failure:failure];
operation.securityPolicy.allowInvalidCertificates = YES;
operation.securityPolicy.validatesDomainName = NO;
[self.operationQueue addOperation:operation];
return operation;
}
if (success) {
int status = [[responseObject objectForKey:@"Status"] intValue];
else if(status == -1)
{
你确定这个 if 和 else if 是一对吗?