1
總之,我正在尋找一種方式來使用以前緩存的圖片作爲我在AFNetworking的UIImageView的品類佔位:AFNetworking +緩存圖像佔位符
- (void)setImageWithURLRequest:(NSURLRequest *)urlRequest
placeholderImage:(UIImage *)placeholderImage
success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image))success
failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure
示例使用情況:
我有一個型號命名爲Post
,我從API響應填充:
@interface Post : NSObject
@property ... NSString *smallImagePath;
@property ... NSString *largeImagePath;
@property ... NSString *description;
@end
我的第一個ViewControlle r將爲我的所有Post
對象顯示縮略圖網格(通過smallImagePath屬性檢索)。輕擊縮略圖會將您帶到DetailViewController,其中大圖像將最終與描述一起顯示。
由於我已經下載並緩存了小縮略圖,因此我希望將它用作佔位符,同時等待下載大圖像。在這一點上,我無法弄清楚如何進入AFImageCache,因爲它不公開。
有一件事我認爲是存儲被作爲成功的塊中的參數傳遞的UIImage:
// add property to Post model
@property ... UIImage *smallImage;
success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
[self.post setSmallImage:image];
}
,然後我可以在我下載大圖直接使用該圖像作爲佔位符。
我不確定這是否會對我的記憶足跡有任何明顯/負面影響,儘管保留對一大堆UIImage的引用。你能想出更好的方法嗎?