2012-09-21 4 views
0

내가 네트워크 오류가 발생하면, 그것은 어떻게이 스레드를 처리하는 스레드 ... 를 보여줍니다네트워크 또는 서버 오류를 처리하는 방법은 무엇입니까?

NSMutableArray *image=[[NSMutableArray alloc]init]; 
    for(int i=1;i<4;i++) 
    { 
     NSString *urlString =[NSString stringWithFormat:@"http://www.isco.com/webproductimages/appBnr/bnr%d.jpg",i]; 
     NSData *photoData = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]]; 
     [image addObject:photoData]; 
    } 

내 문제는 다음 코드를 사용하고 ??

답변

0

"오류"는 여러 요인으로 인해 발생할 수 있습니다 (오류/예외 임). 인터넷 연결이 끊어 졌거나 서버가 HTTP 오류를 발생시킬 수 있습니다.

시작하려면 네트워크 작업을 실행할 때 인터넷 연결이 끊어지지 않도록하십시오. 인터넷 연결을 확인하는 방법에 대한 조언이 많이 있습니다. 하나는 SDK 자체에서 제공하는 Reachability 클래스를 사용하는 것입니다. How to check for an active Internet connection on iOS or OSX?

여기이 문서는 당신에게뿐만 아니라 인터넷 연결에 대한 자세한 통찰력을 줄 것이다 : 당신이 인터넷 연결이 아니라고 판단되면 Testing internet connection on iPad app using ios5

을하지만, HTTP 서버 오류이 작업을 수행하는 방법에 대한이 문서 봐 . 호출중인 http 서비스가 데이터를 올바르게 전달하는지 확인하십시오. 일부 REST 클라이언트 도구를 사용하여이를 확인합니다 (REST Client)

마지막으로 브라우저에서 호출하려는 URL을 테스트 한 결과 Bad Request 오류가 발생합니다. iOS 코드와 아무런 관련이 없음을 의미합니다. 이 서버가 사용자의 제어를 받으면이를 수정해야합니다.

0
NSMutableArray *image=[[NSMutableArray alloc]init]; 
     for(int i=1;i<4;i++) 
     { 
      NSString *urlString =[NSString stringWithFormat:@"http://www.isco.com/webproductimages/appBnr/bnr%d.jpg",i]; 

     NSError *error; 
    NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString] options:NSDataReadingUncached error:&error ]; 

     if (data) { 
     [image addObject:photoData]; 
     } 
     else{ 
      if (error) { 
       NSLog(error); 
      } 
     } 


    } 
관련 문제