typedef NS_OPTIONS(NSUInteger, SDWebImageOptions) { SDWebImageRetryFailed = 1 << 0, SDWebImageLowPriority = 1 << 1, SDWebImageCacheMemoryOnly = 1 << 2, SDWebImageProgressiveDownload = 1 << 3, SDWebImageRefreshCached = 1 << 4, SDWebImageContinueInBackground = 1 << 5, SDWebImageHandleCookies = 1 << 6, SDWebImageAllowInvalidSSLCertificates = 1 << 7, SDWebImageHighPriority = 1 << 8, SDWebImageDelayPlaceholder = 1 << 9, SDWebImageTransformAnimatedImage = 1 << 10, SDWebImageAvoidAutoSetImage = 1 << 11 };
SDWebImageRetryFailed = 1 << 0,:
默認情況下,如果一個url在下載的時候失敗了,那么這個url會被加入黑名單並且library不會嘗試再次下載,這個flag會阻止library把失敗的url加入黑名單(簡單來說如果選擇了這個flag,那么即使某個url下載失敗了,sdwebimage還是會嘗試再次下載他
SDWebImageLowPriority = 1 << 1,:
默認情況下,圖片會在交互發生的時候下載(例如你滑動tableview的時候),這個flag會禁止這個特性,導致的結果就是在scrollview減速的時候
,才會開始下載(也就是你滑動的時候scrollview不下載,你手從屏幕上移走,scrollview開始減速的時候才會開始下載圖片
SDWebImageCacheMemoryOnly = 1 << 2,:這個flag禁止磁盤緩存,只有內存緩存
SDWebImageProgressiveDownload = 1 << 3,:
這個flag會在圖片下載的時候就顯示(就像你用瀏覽器瀏覽網頁的時候那種圖片下載,一截一截的顯示(待確認))
SDWebImageRefreshCached = 1 << 4,:
一個圖片緩存了,還是會重新請求.並且緩存側略依據NSURLCache而不是SDWebImage.URL不變,圖片會更新時使用
SDWebImageContinueInBackground = 1 << 5,:
啟動后台下載,加入你進入一個頁面,有一張圖片正在下載這時候你讓app進入后台,圖片還是會繼續下載(這個估計要開backgroundfetch才有用)
SDWebImageHandleCookies = 1 << 6,:
可以控制存在NSHTTPCookieStore的cookies.
SDWebImageAllowInvalidSSLCertificates = 1 << 7,:
允許不安全的SSL證書,在正式環境中慎用
SDWebImageHighPriority = 1 << 8,:
默認情況下,image在裝載的時候是按照他們在隊列中的順序裝載的(就是先進先出).這個flag會把他們移動到隊列的前端,並且立刻裝載
,而不是等到當前隊列裝載的時候再裝載.
SDWebImageDelayPlaceholder = 1 << 9,:
默認情況下,占位圖會在圖片下載的時候顯示.這個flag開啟會延遲占位圖顯示的時間,等到圖片下載完成之后才會顯示占位圖.
SDWebImageTransformAnimatedImage = 1 << 10,:
是否transform圖片