Daily iOS
SwiftUI

Observation 의존성 추적

iOS 17 SwiftUI에서 @Observable 모델의 프로퍼티 하나가 바뀌었을 때, 그 모델을 쓰는 뷰 전부가 아니라 일부 뷰만 다시 그려집니다. SwiftUI는 어느 뷰를 다시 그릴지 무엇을 기준으로 정하나요?

면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

body를 평가하는 동안 실제로 getter를 거친 프로퍼티만 기록해 두고(withObservationTracking), 그 프로퍼티의 setter가 불릴 때만 해당 뷰를 무효화하므로 읽지 않은 프로퍼티가 바뀐 뷰는 그대로 둔다.

받은 질문 공유