배움과 성장/소프트웨어 개발
SwiftUI 상태 관리 기준: @State·@Binding·@Observable·@StateObject 구분하기
SwiftUI 상태 관리는 도구 이름보다 값을 누가 소유하고, 누가 읽고, 누가 바꿀 수 있어야 하는가를 먼저 정하면 단순해진다. 최신 Observation을 사용할 수 있는 앱과 기존 ObservableObject 코드를 유지해야 하는 앱도 구분해야 한다.기존 글에서는 Hashable과 상태 도구를 한 목록에서 설명했다. 그러나 Hashable은 값의 동일성과 해시 컬렉션에 관한 프로토콜이다. 화면 상태의 소유·전달 문제와는 별개다.먼저 상태의 소유자를 정한다SwiftUI는 한 값에 하나의 source of truth를 두는 방향으로 설계되어 있다.View 내부의 일시적인 UI 값은 @State가 소유한다.하위 View가 상위 상태를 수정해야 하면 @Binding으로 통로를 건넨다.여러 프로퍼티와 동작..