@DTS Engineer
Thanks a lot for the detailed explanation — that makes sense.
It seems that when migrating directly from ObservableObject to @Observable, extra care is needed around update ordering and intermediate states.
In my case, this behavior leads to unexpected UI results, such as the scroll position ending up in an incorrect state (as shown in the screenshot above).
I can consistently reproduce this on a real iPad Pro (M4) running iOS 26.2.1, where the UI visually jumps and then settles at an unintended position.
I’ll need to adjust my approach to work around this behavior.
I’d also be very interested to hear more from the SwiftUI team on the intended patterns or best practices for avoiding these intermediate states in UI code.
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: