2012-12-29 4 views
0

AFNetworking을 사용하여 많은 이미지를로드 중입니다. AFNetworking이 캐싱하기 전에 이러한 이미지에 둥근 모서리를 축척하고 적용하고 싶습니다.AFNetworking으로 캐시 앞의 이미지 편집

이미지를로드 할 때마다 크기 조정과 둥근 모서리를 적용하기 시작했지만 이미지가 캐시에서로드 될 때 완성 블록이 호출되기 때문에 사용자가 컬렉션보기를 스크롤 할 때 너무 많은 리소스가 사용됩니다. 이미지로 가득 찼습니다.

[self.imageView setImageWithURLRequest:[NSURLRequest requestWithURL:url 
                 cachePolicy:NSURLRequestReturnCacheDataElseLoad 
                timeoutInterval:10.0f] 
placeholderImage:kVideoCollectionViewCellVideoImagePlaceholder 
success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) { 
    /** 
    * The image is edited here and this block is called 
    * when the image is loaded from web and from the cache. 
    */ 
    [self.imageView setImage:image]; 
} 
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) { 
    DDLogError(@"%@", error); 
}]; 

AFNetworking 내가 디스크 캐싱을 사용 특히 그러므로 내가 그것을 사용하고자하지만이 캐시되기 전에 이미지를 편집 할 수있는 방법이 있다면 내가 알아낼 수 없습니다 내 사용을 위해 좋은 캐시를 제공하는 것 .

이것이 가능한지 아는 사람이 있습니까? 그렇다면 어떻게 할 수 있습니까?

답변

0

질문을 올린 후 UIImageView + AFNetworking 카테고리를 사용하여 다른 방향으로 보일 수도 있습니다. AFImageRequestOperation을 사용하면 직접 문제가 해결됩니다.

__weak NZVideoCollectionViewCell *weakSelf = self; 
NSURLRequest *request = [NSURLRequest requestWithURL:url 
             cachePolicy:NSURLRequestReturnCacheDataElseLoad 
            timeoutInterval:10.0f]; 
AFImageRequestOperation *operation = [AFImageRequestOperation imageRequestOperationWithRequest:request imageProcessingBlock:^UIImage*(UIImage *image) { 
    /** 
    * Edit image. 
    */ 
    return editedImage; 
} 
success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) { 
    [weakSelf.imageView setImage:image]; 
} 
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) { 
    DDLogError(@"%@", error); 
}]; 
[operation start]; 
관련 문제