CachedImage
is a SwiftUI component to asynchronously load and display an image provided by its URL.
This package is based on the AsyncImage project published by Vadim Bulavin and described in the Asynchronous Image Loading from URL in SwiftUI article.
import CachedImage
let images = (0...20).map {
"https://picsum.photos/800/600?random=\($0)"
}
let imageURLs = images.map {
URL(string: $0)!
}
struct ContentView: View {
var body: some View {
List(imageURLs, id: \.self) { url in
CachedImage(
url: url,
content: { image in
image
.resizable()
.aspectRatio(contentMode: .fit)
},
placeholder: {
Text("Loading ...")
}
)
.scaledToFit()
}
}
}
Check the demo project provided here: Demo.
Vadim Bulavin & Leonid Zolotarev
CachedImage
is available under the Unlicense. See the LICENSE file for more info.