Use CachedAsyncImage if possible

This commit is contained in:
Arkadiusz Fal
2022-12-16 22:37:30 +01:00
parent 26d3fba0f3
commit 5054f828de
5 changed files with 98 additions and 4 deletions

View File

@@ -10,6 +10,8 @@ struct BaseCacheModel {
static let jsonFromDataTransformer: (Data) -> JSON = { try! JSON(data: $0) }
static let jsonTransformer = Transformer(toData: jsonToDataTransformer, fromData: jsonFromDataTransformer)
static let imageCache = URLCache(memoryCapacity: 512 * 1000 * 1000, diskCapacity: 10 * 1000 * 1000 * 1000)
var models: [CacheModel] {
[
FeedCacheModel.shared,
@@ -23,10 +25,12 @@ struct BaseCacheModel {
func clear() {
models.forEach { $0.clear() }
Self.imageCache.removeAllCachedResponses()
}
var totalSize: Int {
models.compactMap { $0.storage?.totalDiskStorageSize }.reduce(0, +)
models.compactMap { $0.storage?.totalDiskStorageSize }.reduce(0, +) + Self.imageCache.currentDiskUsage
}
var totalSizeFormatted: String {