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 是一对吗?