圖片cache機制
Darren
Swift
今天來幫之前寫的ImageView extension加上cache機制 不然每次滑動畫面圖片就不斷閃動 看起來超不舒服而且一直從Firebase下載圖片超浪費效能
今天來幫之前寫的ImageView extension加上cache機制
不然每次滑動畫面圖片就不斷閃動
看起來超不舒服而且一直從Firebase下載圖片超浪費效能
先看code
import
let
=
NSCache
AnyObject
AnyObject
extension
UIImageView
func
loadImageUsingCashWithUrlString
urlString
String
// Check cache for image
if
let
=
as
AnyObject
as?
UIImage
self
=
return
}
let
=
URL
URLSession
!
in
if
!=
nil
print
!
return
}
DispatchQueue
if
let
=
UIImage
!
imageCache.setObject(downloadedImage, forKey: urlString as
AnyObject
self
=
UIImage
!
}
}
}.resume()
}
}
呼叫這function時會先去看cache裡面有沒有存過
不然就用拿到的urlString去下載
下載完就用urlString當作cache object的key把圖片存起來