SwiftUI CachedAsyncImage 🗃️

CachedAsyncImage 是具有缓存功能的 AsyncImage

用法

CachedAsyncImage 具有与 AsyncImage 完全相同的 API 和行为,所以您只需要将

AsyncImage(url: logoURL)

改为

CachedAsyncImage(url: logoURL)

除了 AsyncImage 的初始化器之外,您还可以指定要使用的缓存(默认使用 URLCache.shared),以及使用 URLRequest 代替 URL

CachedAsyncImage(urlRequest: logoURLRequest, urlCache: .imageCache)
// URLCache+imageCache.swift

extension URLCache {
    
    static let imageCache = URLCache(memoryCapacity: 512_000_000, diskCapacity: 10_000_000_000)
}

请记住,设置缓存时,响应(在本例中是我们的图像)的大小不得超过磁盘缓存的约 5%(请参阅此讨论)。

安装

  1. 在 Xcode 中,打开您的项目并导航到 FileSwift PackagesAdd Package Dependency...(文件 -> Swift Packages -> 添加包依赖项...)
  2. 粘贴存储库 URL(https://github.com/lorenzofiamingo/swiftui-cached-async-image)并单击 Next(下一步)。
  3. 单击 Finish(完成)。

其他项目

SwiftUI VariadicViews 🥞

SwiftUI AsyncButton 🖲️

SwiftUI MapItemPicker 🗺️

SwiftUI PhotosPicker 🌇

SwiftUI VerticalTabView 🔝

SwiftUI SharedObject 🍱