2012-05-30 5 views
1

은 즉, 나는 AFNetworking의있는 UIImageView 카테고리 내 자리로 이전에 캐시 된 이미지를 사용하는 방법을 찾고 있어요AFNetworking + 캐시 된 이미지 자리 표시 자

@interface Post : NSObject 
    @property ... NSString *smallImagePath; 
    @property ... NSString *largeImagePath; 
    @property ... NSString *description;  
@end 

내 첫 ViewControlle : 모델은 내가 API 응답에서 채울 Post라는 이름의 한 r은 모든 내 Post 객체에 대한 축소판 그리드 (smallImagePath 속성을 통해 검색)를 표시합니다. 썸네일을 탭하면 DetailViewController로 이동합니다. DetailViewController에서 큰 이미지가 설명과 함께 표시됩니다.

이미 작은 미리보기 이미지를 다운로드하여 캐시 했으므로 큰 이미지를 다운로드 할 때까지 기다렸다가 자리 표시 자로 사용하고 싶습니다. 이 시점에서 공개적으로 액세스 할 수 없으므로 AFImageCache에 들어가는 방법을 알 수 없습니다. 내가 성공 블록에 인수로 전달되는있는 UIImage을 저장하는 생각

한 가지 :

// add property to Post model 
@property ... UIImage *smallImage; 

success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) { 
    [self.post setSmallImage:image]; 
} 

내가 큰 이미지를 다운로드하는 동안 나는이 자리로 직접 해당 이미지를 사용할 수 있습니다.

UIImage의 잔뜩에 대한 참조를 유지하여 내 메모리 발자국에 어떤 두드러진/부정적인 영향을 미칠 지 모르겠다. 더 나은 방법을 생각해 볼 수 있습니까?

답변

0

이미지를 내 모델의 속성으로 저장하는 내 원래 아이디어로 끝을 맺었습니다. 그렇게하면 큰 이미지가로드되는 동안 자리 표시자를 선언해야 할 때 해당 속성에 액세스 할 수 있습니다. 성능이 뛰어났습니다.