2015-01-07 2 views
0

image-url-string이 올바른 URL을 제공하는지 어떻게 확인할 수 있습니까? 이 URL에 대해 이야기하고 있습니다. http://rscagen3t004-dev.tdlinx.dev/sites/all/themes/rsca/resources/images/RSCA_logo.pngURL 문자열이 올바른 웹 페이지를 제공하는지 확인하십시오.

웹 페이지를 사용할 수없는 링크를 클릭하면 볼 수 있습니다.

if([meta.met_thumb hasPrefix:@"http://"]){ 
       imgURL = meta.met_thumb; 


       NSData *walImage = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:imgURL]]; 
       NSLog(@"walImage is %@",walImage); 
       float newHeight2; 
       if (walImage != nil) { 
        UIImage *imgIcon = [UIImage imageWithData:walImage]; 
        if (imgIcon != nil) { 
         float width = imgIcon.size.width; 
         float heigt = imgIcon.size.height; 
         if(heigt < 240){ 
          float newWidth = (heigt/240); 
          float newWidht2 = (newWidth/ width); 
          //[imgNews setFrame:CGRectMake(40,y, newWidht2,heigt)]; 
         } 
         float newHeight = (width/240); 
         newHeight2 = heigt/ newHeight; 
        }else{ 
         newHeight2 = 240; 
        } 

       }else{ 
        newHeight2 = 240; 
       } 


       height = [self heightForStatus:attString] + y + newHeight2 + 70; 
      }else{ 
       height = [self heightForStatus:attString] + y + 240 + 70; 
      } 

을하지만 그것은 [[NSData alloc] init]의 라인을 실행하는 데 시간이 오래 걸리는 : 순간 나는 내 코드에서이 일을하고 있습니다.

아무도 도와 줄 수 있습니까?

미리 감사드립니다.

+0

"유효한 URL"이란 무엇입니까? 코드에서 URL이 유효한지 테스트하지 않고 이미지를 다운로드하십시오. –

+0

링크를 클릭하면보실 수 있습니다. "웹 페이지를 사용할 수 없습니다."라는 메시지가 다시 표시되지 않습니다. – Steaphann

+1

"유효한"URL은 서버가 응답하거나 응답이 빠름을 의미하지 않습니다. 코드를 배경으로 두십시오. –

답변

0

alloc/init으로 줄을 실행하는 데 긴 지연은 아마도 서버의 느린 응답 때문에 발생합니다. 방금 테스트했는데 30 초 후 이미지 나 오류 페이지가 표시되지 않았습니다.

"유효한 URL"을 찾으려면 서버 응답을 확인해야합니다. 404 =의 적절한 응답을 찾을 수 없습니다. http 응답 코드도 참조하십시오. http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

그럼 어떻게하면 404 또는 2xx 응답을 얻을지 확인하십시오. 그런 다음 데이터가 있는지 결정하고 이미지를 만듭니다. 이미지 데이터가 수신되지 않고 웹 페이지 만 수신되는 경우에도 문제가 발생할 수 있습니다.

+0

그리고 어떻게해야합니까? – Steaphann

+0

코드를 작성하지 않을 것이며이를 구현하는 다양한 방법이 있습니다. 필요한 항목은 문서 (https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/URLLoadingSystem/URLLoadingSystem.html#//apple_ref/doc/uid/10000165i)에 자세히 설명되어 있습니다. – Volker

관련 문제