Swiftui의 100일 중 16일차

방금 SwiftUi 100일 중 15일을 완료했습니다. 오늘 저는 SwiftUI를 배우기 시작했습니다. @State 속성과 두 가지 바인딩에 대해 자세히 배웠습니다.

컴퓨터 프로그래밍의 상태는 특정 시점의 응용 프로그램을 설명하는 일련의 값입니다.
SwiftUI@State에서는 앱의 상태를 설명하는 데 사용됩니다. @State 속성을 사용하면 상태 값을 수정할 수도 있습니다. @state 속성이 수정될 때마다 보기가 삭제되고 앱의 현재 상태와 일치하도록 다시 생성됩니다.
예를 들어 @state 속성을 이렇게 사용할 수 있습니다.

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

    var body: some View {
        Button("Tap count \(tapCount)") {
            tapCount += 1
        }
    }
}



코드는 간단한 버튼을 만듭니다. 버튼 보기는 버튼을 탭할 때마다 탭 카운트 상태 속성을 증가시키는 클로저를 사용합니다. tapCount 속성이 변경될 때마다 버튼이 화면에 다시 그려져 tapCount 속성의 새 상태가 반영됩니다.

양방향 바인딩은 상태 속성을 보기에 바인딩하려는 경우에 사용됩니다. 뷰가 상태에서 값을 읽을 수 있고 상태 값을 업데이트할 수도 있기 때문에 두 바인딩이라고 합니다.
예를 들어 SwiftUI의 양방향 바인딩은 다음과 같이 수행할 수 있습니다.

struct ContentView: View {
   @State private var name = ""

    var body: some View {
        Form {
            TextField("Enter your name", text: $name )
            Text("\(name)")
        }
    }
}




위의 코드는 하나의 상태name가 있는 간단한 양식을 만듭니다. 양식에는 하나TextField와 하나Text가 포함되어 있습니다. name 상태 속성을 TextField 에 바인딩합니다. 즉, 사용자가 Textfield에 입력할 때마다 name 상태가 업데이트되고 Text도 이러한 변경 사항을 반영하여 다시 그려집니다.

도전에 관심이 있으시면 https://www.hackingwithswift.com/100/swiftui에서 찾을 수 있습니다.
내일 봐요 ;)

좋은 웹페이지 즐겨찾기