SDWebImageManager是背後的 UIImageView + WebCache 類別類,喜歡。它與圖像高速緩存存儲區 (SDImageCache) 聯繫異步下載程序 (SDWebImageDownloader)。您可以使用此類直接從中受益與比 UIView 的另一個上下文中的緩存下載的 web 圖像。
這裏是如何使用SDWebImageManager的一個簡單示例:
SDWebImageManager manager = [SDWebImageManager sharedManager]; [manager downloadWithURL:imageURL delegate:self options:0 progress:nil completed:^(UIImage image, NSError *error, BOOL fromCache) { if (image) { // do something with image } }];
高速緩存過濾器是SDWebImageManager需要將一個 URL 轉換成一個緩存鍵每次使用的塊。這可以用於刪除動態的圖像 URL 的一部分。
@property (strong) NSString *^ ) ( NSURL *url ) cacheKeyFilter
高速緩存過濾器是 SDWebImageManager 需要將一個 URL 轉換成一個緩存鍵每次使用的塊。這可以用於刪除動態的圖像 URL 的一部分。
下面的示例將刪除從之前的 URL 的任何查詢字符串,將它用作緩存鍵的應用程序委託中設置一個篩選器:
[[SDWebImageManager sharedManager] setCacheKeyFilter:^(NSURL *url)
{
url = [[NSURL alloc] initWithScheme:url.scheme host:url.host path:url.path];
return [url absoluteString];
}];
+ (SDWebImageManager *)sharedManager
返回值
SDWebImageManager共享的實例
取消所有當前 opreations
- (void)cancelAll
如果不存在緩存或返回緩存的版本,否則爲在下載圖像上給定的 URL。
- (id<SDWebImageOperation>)downloadWithURL:(NSURL *)url options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletedWithFinishedBlock)completedBlock
參數
url
圖像的 URL
options
一個掩碼指定要用於此請求的選項
progressBlock
塊調用下載圖像時
completedBlock
當操作已完成時,將調用一個塊。
這阻止一樣沒有返回值,需要請求的 UIImage 作爲第一個參數。發生錯誤時的圖像參數爲零,第二個參數可以包含 NSError。
第三個參數是一個布爾值,該值指示是否圖像從本地緩存中的從網絡 retrived。
最後一個參數設置爲不使用 SDWebImageProgressiveDownload 選項和下載圖像時。此塊因而稱爲 repetidly 與部分圖像。圖像是完全下載後,塊稱爲最後一次同完整的鏡像,將最後一個參數設置爲是。
委託
委託對象,該對象用於發送返回執行結果
返回值
返回可取消 NSOperation
- (BOOL)isRunning
檢查運行的一個或多個操作