CHAAANY ARCHIVE

Swift Observation

2개의 기록을 주제별로 둘러보세요.

SwiftUI View 구조: var body·struct·상태 객체의 역할

SwiftUI View 구조를 var, struct, class 가운데 하나를 고르는 문제로 이해하면 각 keyword의 역할이 섞인다. struct는 custom view type을 선언하는 방식이고, var body: some View는 그 type이 View protocol을 만족하기 위해 제공하는 computed property다. class는 대개 view 자체보다 identity를 공유하는 model에 사용한다.var body는 별도의 View 선언 방식이 아니다Apple의 View protocol 문서는 custom view type이 body computed property를 구현해 content를 제공하도록 설명한다.import SwiftUIstruct GreetingView: View ..

SwiftUI 상태 관리 기준: @State·@Binding·@Observable·@StateObject 구분하기

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

728x90