View - 화면을 그리라는 선언이다. Text("Hello") - Hello 라는 텍스트를 그리라는 선언이다. ### @State View 내부 State가 상태로 존재한다. @State var count = 0 따라서 View가 죽으면 State도 죽는다. ### @ObservedObject 외부에서 만든 객체를 "관찰만" - 소유하지 않는다. ### @StateObject SwiftUI가 생명주기까지 관리 - View 가 소유한다. - 최초 1회 생성되고, 재생성되어도 객체가 유지된다. ```swift @StateObject var vm = CounterViewModel() ``` ### @EnvironmentObject 전역 공유 - 주입 안 하면 앱 터짐 - 깊은 View hierarchy 전달 --- ## Diffing: SwiftUI는 "트리 비교 엔진"이다 SwiftUI 화면 = "View Tree" | 개념 | 핵심 | | ------------ | ------ | | View = Value | 객체 아님 | | State 래퍼 | 상태 소유권 | | Identity | 비교 기준 | | Diffing | 부분 렌더링 |