The Case of the Mystery Body Recompute: Debugging SwiftUI, Core Data, and Ghost Body Passes

If you have spent enough time with SwiftUI, you have likely run into the dreaded ghost re-render: your view appears, nothing in your data model has visibly changed, but body fires twice. Recently, I embarked on a deep-dive investigation using LLDB, stack traces, and Self._printChanges() to uncover why a presented AlertContent view was evaluating its body twice upon Read more

Understanding context.environment in SwiftUI’s UIViewRepresentable

This blog post was written with the assistance of ChatGPT. When integrating UIKit components into SwiftUI using UIViewRepresentable, you might come across the context.environment property. While it looks simple on the surface, it hides a powerful mechanism: environment-driven updates. In this post, we’ll explore what context.environment does, how SwiftUI tracks it, and how it can cause Read more

How to use withObservationTracking to monitor an @Observable

Reposted from: https://forums.swift.org/t/how-to-use-observation-to-actually-observe-changes-to-a-property/67591/18 I thought I’d share an example of how I am currently using it. I wanted to make an object that maintains a sorted order of the main model’s objects. I used withObservationTracking to update if either the sort order local to this object is changed or if the particular Read more