当NSRLConnection的sendAsynchronousRequest方法失败时,没有代码执行

时间:2015-07-01 11:05:28

标签: nsurlconnection nsurlconnectiondelegate sendasynchronousrequest

我已实施此操作:

   [NSURLConnection sendAsynchronousRequest:theRequest queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
                if (connectionError) {
                    NSLog(@"Error %@ | contaShow %i",connectionError.description,_contaShow);
                    //OPERATIONS in case of error
                } else {
                   //OPERATIONS in case of success

有时,如果发生连接错误(例如丢失连接),我想执行if块内的代码。 通过调试,我可以看到代码行被调用,但是没有被执行!!!

有人可以告诉我为什么?!?

...谢谢

1 个答案:

答案 0 :(得分:0)

如果连接返回错误代码(例如404),您可能会进入成功案例,因为您还需要检查((NSHTTPURLResponse *)响应).statusCode的值以确保它是200。

除此之外,请确保您正在使用调试版本。否则,调试器可能会告诉您正在执行哪些代码行。