2012-05-02 5 views
2

AFNetworking의 UIImageView 범주를 사용하고 있으며 응답 코드 상태가 지속적으로 0입니다. 왜 그런지 아십니까? 다음과 같은 방법을 사용하고 있습니다.AFNetworking UIImageView setImageWithURLRequest가 응답 코드 0을 반환합니다.

[self.newsPicture_ setImageWithURLRequest:storyImageRequest 
             placeholderImage:nil 
                success:^(NSURLRequest * request, NSHTTPURLResponse * response, UIImage * image) { 
                 if ([response statusCode] == 200){ 
                  dispatch_async(dispatch_get_main_queue(), ^(void){ 

}); 
                 } else { 
                  NSLog(@"RESPONSE ERROR WITH CODE IS %d", [response statusCode]); 
                 } 
                }failure:^(NSURLRequest * request, NSHTTPURLResponse * response, NSError * error){ 
                 if (error){ 
                  NSLog(@"Error in requesting news story image"); 
                 } 
                }]; 

왜 이런 일이 벌어지고 있는지 알 수 있습니다.

이것은 블록 기반 함수 호출을 사용할 때만 발생합니다. 내가 setImageWithURL를 사용하는 경우

은 모든 것이 잘

답변

8

UIImageView+AFNetworking는 스크롤 뷰와 테이블 뷰의 성능을 최적화하기 위해 내부 캐시를 사용하여 작동합니다. 응답 코드 0은 HTTP 요청을하지 않고 이미지가 내부 캐시에서 나왔다는 것을 의미합니다. success에서 200이라는 상태 코드를 확인하지 않아도됩니다. 성공/실패의 차이점이 이미 무엇인지 알기 때문입니다.

관련 문제