Skip to content
Projects

lorenzofiamingo/swiftui-cached-async-image

View on GitHub

lorenzofiamingo/swiftui-cached-async-image has 713 GitHub stars and 83 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-15 19:10 UTC. Last push 2026-07-01.

How these counts are measured

Measured star growth

in 24h
0
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

About

CachedAsyncImage is the simplest way to add cache to your AsyncImage.

Developer Tools

README.md

Original

SwiftUI CachedAsyncImage 🗃️

CachedAsyncImage is AsyncImage, but with cache capabilities.

Usage

CachedAsyncImage has the exact same API and behavior as AsyncImage, so you just have to change this:

AsyncImage(url: logoURL)

to this:

CachedAsyncImage(url: logoURL)

In addition to AsyncImage initializers, you have the possibilities to specify the cache you want to use (by default URLCache.shared is used), and to use URLRequest instead of URL:

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

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

Remember when setting the cache the response (in this case our image) must be no larger than about 5% of the disk cache (See this discussion).

Installation

  1. In Xcode, open your project and navigate to File → Swift Packages → Add Package Dependency...
  2. Paste the repository URL (https://github.com/lorenzofiamingo/swiftui-cached-async-image) and click Next.
  3. Click Finish.

Other projects

SwiftUI VariadicViews 🥞

SwiftUI AsyncButton 🖲️

SwiftUI MapItemPicker 🗺️

SwiftUI PhotosPicker 🌇

SwiftUI VerticalTabView 🔝

SwiftUI SharedObject 🍱