2016-04-01 5 views
1

Я использую 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) { 

     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); 

       }]; 



      } 

Запуск приложения и функция I ошибки не звонят на успех или неудачу.

ответ

0

Вам не нужно проверять успех неудачи с условием в 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; 

} 
+0

Я имел в виду, тогда статус = -1 Метод "[self HTTPRequestOperationWithHTTPMethod: @" GET "URLString: URLString" dosen't work. Как это исправить. – TrungVu

+0

Сначала вы удалили, если условие на успех? проверьте мой код, я удалил условие на успех. – ivarun

+0

спасибо ivarun :), я сделан – TrungVu

0
if (success) { 

     int status = [[responseObject objectForKey:@"Status"] intValue]; 



     else if(status == -1) 

     { 

вы уверены, что это, если и еще если есть пара?

+0

уверен, я его испугаю. – TrungVu

Смежные вопросы