Skip to content

Lightweight way to load and cache images asynchronously in SwiftUI views

License

Notifications You must be signed in to change notification settings

nssina/NSAsyncCachedImage

Repository files navigation

NSAsyncCachedImage

Swift Package Manager compatible

NSAsyncCachedImage is a lightweight package which provides the main thing that is missing from Apple AsyncImage API, Caching!. This package will let you download and cache images asynchronously in SwiftUI views.

Supported Platforms

NSAsyncCachedImage supports iOS 13, macOS 10.15, tvOS 13 and watchOS 6.

Installation

NSAsyncCachedImage can be installed with the Swift Package Manager:

https://github.com/nssina/NSAsyncCachedImage.git

Usage

import SwiftUI
import NSAsyncCachedImage

struct ContentView: View {
    var body: some View {
        VStack {
            NSAsyncCachedImage("https://example.com/icon.png") { image in
                image
                    .resizable()
            } placeHolder: {
                ProgressView()
            }
            .frame(width: 200, height: 200)
            .cornerRadius(12)
        }
        .padding()
    }
}

License

The project is available under MIT Licence