// // MKAnnotationView+WebCache.m // SDWebImage // // Created by Olivier Poitrey on 14/03/12. // Copyright (c) 2012 Dailymotion. All rights reserved. // #import "MKAnnotationView+WebCache.h" @implementation MKAnnotationView (WebCache) - (void)setImageWithURL:(NSURL *)url { [self setImageWithURL:url placeholderImage:nil]; } - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder { [self setImageWithURL:url placeholderImage:placeholder options:0]; } - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options { SDWebImageManager *manager = [SDWebImageManager sharedManager]; // Remove in progress downloader from queue [manager cancelForDelegate:self]; self.image = placeholder; if (url) { [manager downloadWithURL:url delegate:self options:options]; } } #if NS_BLOCKS_AVAILABLE - (void)setImageWithURL:(NSURL *)url success:(void (^)(UIImage *image))success failure:(void (^)(NSError *error))failure; { [self setImageWithURL:url placeholderImage:nil success:success failure:failure]; } - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder success:(void (^)(UIImage *image))success failure:(void (^)(NSError *error))failure; { [self setImageWithURL:url placeholderImage:placeholder options:0 success:success failure:failure]; } - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options success:(void (^)(UIImage *image))success failure:(void (^)(NSError *error))failure; { SDWebImageManager *manager = [SDWebImageManager sharedManager]; // Remove in progress downloader from queue [manager cancelForDelegate:self]; self.image = placeholder; if (url) { [manager downloadWithURL:url delegate:self options:options success:success failure:failure]; } } #endif - (void)cancelCurrentImageLoad { [[SDWebImageManager sharedManager] cancelForDelegate:self]; } - (void)webImageManager:(SDWebImageManager *)imageManager didFinishWithImage:(UIImage *)image { self.image = image; } @end