Updated for Xcode 16.4
Use the Image view to render images inside your SwiftUI layouts. These can load images from your bundle, from system icons, from a UIImage, and more, but those three will be the most common.
If you’re building using Xcode 15 and later, you can load an image from your bundle and display it inside an image view using built-in static properties, like this:
Image(.dog)
This was introduced in Xcode 15 alongside iOS 17, but works just fine back in all older versions of iOS.
If you’re using Xcode 14 and earlier, you need to write the name of your images like this:
Image("dog")

You also can create an image view from an existing UIImage. As loading a UIImage using its named initializer returns an optional image, you should either add a default value or use a force unwrap if you’re sure it will exist in your asset catalog:
Image(uiImage: UIImage(named: "cat")!)
Download this as an Xcode project

If you want to work with Apple’s SF Symbols icon set, you should use the Image(systemName:) initializer, like this:
Image(systemName: "cloud.heavyrain.fill")
.font(.largeTitle)
Download this as an Xcode project

Notice how you can use the font() modifier to adjust SF Symbols as if they were text.
SAVE 50% All our books and bundles are half price for Black Friday, so you can take your Swift knowledge further for less! Get my all-new book Everything but the Code to make more money with apps, get the Swift Power Pack to build your iOS career faster, get the Swift Platform Pack to builds apps for macOS, watchOS, and beyond, or get the Swift Plus Pack to learn Swift Testing, design patterns, and more.