Skip to content
Preptima
mediumConceptScenarioMidSenior

Your SwiftUI screen redraws constantly and scrolling stutters - how would you find out why, and what state-management mistake usually causes it?

4 min readUpdated 2026-08-15

Answer

Short answer

A re-render storm usually comes from one large ObservableObject whose @Published properties fan out too widely, so any single field change invalidates every view reading the object rather than just the row that changed.

Was this answer helpful?

Likely follow-ups

  • How would you split one large view model into several without duplicating fetch logic?
  • What does the Observable macro track differently from @Published, and why does that matter for a list of a thousand rows?
  • Why can a List with a poor id cause both wasted diffing and, separately, stale row content?
  • What would you check first in Instruments to confirm the redraw is coming from state rather than layout?

Related questions

Further reading

Related Topics