Skip to content

getter와 setter, 어떻게 생각하시나요? #86

Answered by OneMoreThink
moonkey48 asked this question in Q&A
Discussion options

You must be logged in to vote

생각을 공유하는데 앞서 @moonkey48의 글을 읽고 제가 이해한 바에 대해 먼저 풀어보겠습니다.

기존에 많이 보던 패턴 -> 상태변수와 부수효과를 분리

SwiftUI와 같은 선언형 프레임워크는 @State와 같은 상태변수를 이용하여

  • 화면의 상태를 선언적으로 관리하면서
  • 동시에 상태 변화에 따른 부가적인 로직의 트리거로도 활용합니다.
  1. 상태 선언과 결과 정의
struct ContentView: View {
    // 화면의 가능한 상태를 정의
    @State private var isComplete = false
    
    var body: some View {
        VStack {
            // 각 상태에 따른 최종 화면 모습을 선언
            Text(isComplete ? "완료" : "미완료")
                .foregroundColor(isComplete ? .green : .red)
            
            Button("상태 변경") {
                isComplete.toggle()
            }
        }
    }
}

이렇게 정의된 상태(@State)가 변경되면 SwiftUI가 자동으로 화면을 업데이트합니다. 개발자는 "어떻게" 화면을 업데이트할지가 아니라, "무엇이" 보여져야 하는지만 정의하면…

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@moonkey48
Comment options

moonkey48 Nov 5, 2024
Maintainer Author

Answer selected by moonkey48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
2 participants