最新版SDWebImage的使用

2021-07-07 07:04:36 字數 2501 閱讀 9893

第二步,在需要的地方匯入標頭檔案

#import "uiimageview+webcache.h"
第三步,呼叫sd_setimagewithurl:方法快取,注意,這就是新版本的新方法,舊方法是setimagewithurl:。下面將幾個方法都介紹一下。

1. sd_setimagewithurl:

//快取的基本**,就是這麼簡單

[self.image1 sd_setimagewithurl:imagepath1];

2. sd_setimagewithurl:  completed:

//用block 可以在載入完成之後做些事情

[self.image2 sd_setimagewithurl:imagepath2 completed:^(uiimage *image, nserror *error, sdimagecachetype cachetype, nsurl *imageurl) ];

3. sd_setimagewithurl:  placeholderimage:

//給一張預設,先使用預設,當載入完成後再替換

[self.image1 sd_setimagewithurl:imagepath1 placeholderimage:[uiimage imagenamed:@"default"]];

4. sd_setimagewithurl:  placeholderimage:  completed:

//使用預設,而且用block 在完成後做一些事情

[self.image1 sd_setimagewithurl:imagepath1 placeholderimage:[uiimage imagenamed:@"default"] completed:^(uiimage *image, nserror *error, sdimagecachetype cachetype, nsurl *imageurl) ];

5. sd_setimagewithurl:  placeholderimage:  options:

//options 選擇方式

[self.image1 sd_setimagewithurl:imagepath1 placeholderimage:[uiimage imagenamed:@"default"] options:sdwebimageretryfailed];

其他就不一一介紹了,oc是自文件語言,看方法名就知道幹什麼的了。除了帶options選項的方法,其他的方法都是綜合儲存,也就是記憶體快取和磁碟快取結合的方式,如果你只需要記憶體快取,那麼在options這裡選擇sdwebimagecachememoryonly就可以了。

如果不想深入了解,到這裡你已經可以用sdwebimage進行快取了,接下來我要解釋options的所有選項,以及sdwebimage內部執行流程。

一、options所有選項:

//失敗後重試

sdwebimageretryfailed = 1 << 0,

sdwebimagelowpriority = 1 << 1,

//只進行記憶體快取

sdwebimagecachememoryonly = 1 << 2,

sdwebimageprogressivedownload = 1 << 3,

//重新整理快取

sdwebimagerefreshcached = 1 << 4,

sdwebimagecontinueinbackground = 1 << 5,

= yes;

sdwebimagehandlecookies = 1 << 6,

//允許使用無效的ssl證書

//sdwebimageallowinvalidsslcertificates = 1 << 7,

sdwebimagehighpriority = 1 << 8,

//延遲佔位符

sdwebimagedelayplaceholder = 1 << 9,

//改變動畫形象

sdwebimagetransformanimatedimage = 1 << 10,

清除快取:

[[sdimagecache sharedimagecache] cleardisk];

[[sdimagecache sharedimagecache] clearmemory];

使用sdwebimagemanager類:可以進行一些非同步載入的工作。

sdwebimagemanager *manager = [sdwebimagemanager sharedmanager];

uiimage *cachedimage = [manager imagewithurl:url]; // 將需要快取的載入進來

if (cachedimage) else

儲存乙個影象到快取是使用方法storeimage: forkey:

[[sdimagecache sharedimagecache] storeimage:myimage forkey:mycachekey];

SDWebImage 最新版詳解

sdwebimage 詳解 如有不當的地方請大家多多提出寶貴的 意見 謝謝 今天先介紹下 類引用 剩下的會盡快補上 類引用有5個 分別是以下幾個 sdimagecache 非同步快取 inte ce tableviewcontroller 建立快取例項 cache sdimagecache allo...

SDWebImage 最新版詳解

今天先介紹下 類引用 剩下的會盡快補上 類引用有5個 分別是以下幾個 sdimagecache 非同步快取 objc view plain copy objc view plain copy objc view plain copy 清除磁碟中的快取 cachecleandisk 清除快取的儲存 c...

最新版SDWebImage的使用

我之前寫過一篇部落格,介紹快取處理的三種方式,其中最難,最麻煩,最佔記憶體資源的還是快取,最近做的專案有大量的處理,還是採用了sdwebimage來處理,但是發現之前封裝好的 報錯了。研究發現,是我用了新版的sdwebimage,好多方法都變了。第二步,在需要的地方匯入標頭檔案 import uii...