[iOS] @State는 어떻게 동작할까?

Zoe·2023년 12월 12일
0

iOS

목록 보기
32/39

SwiftUI에서 @State는 구조체로 구현된 뷰의 상태 관리를 위해 사용된다.
뷰는 구조체로 정의되어 있고, 구조체는 값 타입이므로 기본적으로 Immutable하다.
하지만 동적으로 변경되는 데이터를 반영할 필요성이 있기 때문에, @State가 나타났다.

간단한 예제를 통해 알아보자

struct CounterView: View {
    @State private var count = 0

    var body: some View {
        VStack {
            Text("Count: \(count)")
            Button("Increase") {
                count += 1
            }
        }
    }
}

count 변수는 @State로 선언되어 있다. 버튼을 클릭할 때마다 count 값이 증가하고, Text 뷰는 자동으로 새로운 count 값으로 업데이트된다. 불변성을 갖는 구조체 내에서도 상태가 변화할 수 있으며, 이 상태는 자동으로 반영된다.

결론
@State는 주로 View 내부에서 사용되는 데이터를 관리하기 위해 사용된다.
@State 변수는 UI와 바인딩되며, 사용자의 상호작용에 의해 값이 변경될 때 뷰가 자동으로 업데이트된다.
@State 변수의 값이 변경될 때, SwiftUI는 해당 변수를 사용하는 뷰를 Rebuild하여 최신 상태를 반영한다.
@State 변수는 뷰의 인스턴스가 해제될 때까지 메모리에 유지된다.

profile
iOS 개발자😺

0개의 댓글

관련 채용 정보