본문 바로가기

iOS/SwiftUI

[SwiftUI] State, Binding에 대해 알아보기

반응형

State란?

image

SwiftUI에서 관리하는 값을 읽고 쓸 수 있는 property wrapper

속성을 선언할 때, 앞에 @State를 작성해주어야 합니다.
상태가 변경된다면 View는 자동으로 업데이트 됩니다. SwiftUI에서는 이러한 상태 정보를 따로 보관하고, 관리합니다.

주의해야할 점으로 @State로 작성한 경우에는 private 접근 제어자를 붙여주어야 하고, 가장 상위 뷰에서 작성해야 합니다.

Binding이란?

image

값을 읽고 쓸 수 있는 property wrapper
Binding을 사용하여 State를 사용한 View와 양방향 연결을 만들 수 있습니다.

사용

image


@State를 사용해 버튼이 눌릴 때 toggle이 되도록 작성하였습니다.

이 버튼을 따로 빼주어서 사용하고 싶은데, 저 isPlaying 변수가 변할 때를 알기 위해 Binding을 사용합니다.

image


하위 뷰에서 @Binding 키워드를 작성에 상위 뷰의 @State와 연결을 시켜주었습니다.
연결을 시킬 때, "$"을 붙여서 넣어주어야 합니다.

참고

https://developer.apple.com/documentation/swiftui/state

반응형