Programming/iOS

[SwiftUI] 상태 프로퍼티

고양이의시간 2020. 6. 23. 23:23

상태 프로퍼티란?

뷰 레이아웃의 현재상태값을 저장하기 위해 사용됨

예) 텍스트필드에 입력된 String 문자열

 

예제) 텍스트 필드와 바인딩

struct StateProperty: View {
    
    // 상태 프로퍼티 선언
    @State private var userName = ""
    
    
    var body: some View {
        VStack {
        // 뷰와 바인딩 => 바인딩되어 있는 뷰에서 변경이 일어나면, 상태프로퍼티에 자동으로 반영됨
            TextField("Enter name", text: $userName)
        }
    }
}

struct StateProperty_Previews: PreviewProvider {
    static var previews: some View {
        StateProperty()
    }
}

 

상태프로퍼티와 뷰를 바인딩하려면, $를 붙이면 된다.

텍스트 필드에 변화가 생기면 -> 입력된 텍스트를 프로퍼티에 저장 ->상태 프로퍼티에 변화가 있을때마다 뷰 계층구조를  SwiftUI가 다시 렌더링