Thanks for being a part of WWDC25!

How did we do? We’d love to know your thoughts on this year’s conference. Take the survey here

SwiftData Transient Macro Observability

I have a SwiftData model that includes a transient image, declared as follows:

@Transient
var image: UIImage?

It appears that SwiftData does not track changes to transient properties and so the following view will not update when the image changes from nil to an actual image.

ZStack(alignment: .topTrailing) {
    if let image = item?.image {
        Image(uiImage: image)
    } else {
        ProgressView()
    }
}

Ideally, the SwiftData model would still observe changes in transient properties and just not persist them. As such, other code that works with observable objects would work as otherwise expected.

SwiftData Transient Macro Observability
 
 
Q