Menu
Coddy logo textTech

@State 프로퍼티

Coddy Swift 여정의 SwiftUI 입문 섹션에 포함된 레슨. 50개 중 20번째.

뷰의 본문은 해당 데이터에서 다시 계산됩니다. 변경되는 데이터를 사용하려면 속성에 @State를 표시하세요. 상태 속성이 변경되면 SwiftUI는 본문을 다시 실행하고 화면을 업데이트합니다:

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

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

탭할 때마다 count += 1이 실행되고, 텍스트에는 새로운 숫자가 표시됩니다. 텍스트를 직접 업데이트할 필요는 없습니다. 텍스트가 count를 기준으로 설명되어 있으므로 값에 따라 변경됩니다.

뷰의 일반적인 var는 뷰가 구조체이기 때문에 본문에서 변경할 수 없습니다. @State는 구조체 외부에 값을 저장하므로 각 다시 그리기 후에도 값이 유지됩니다. 상태를 private로 표시하세요. 상태는 이 뷰에 속합니다.

challenge icon

챌린지

쉬움

탭 카운터를 완성하세요. 버튼의 동작이 비어 있습니다. 탭할 때마다 1taps에 더하여 한 번 탭한 후 텍스트가 Taps: 1로, 두 번 탭한 후에는 Taps: 2로 표시되도록 하세요.

직접 해보기

import SwiftUI

@main
struct CoddyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

SwiftUI 입문의 모든 레슨

직접 연습해 보세요: Swift 플레이그라운드