반응형
https://developer.apple.com/documentation/swiftui/managing-user-interface-state
1. Binding 키워드
먼저 자식View에다가 @Binding 이라는 프로퍼티 래퍼를 생성한다. 이 프로퍼티 래퍼는 부모의 스테이트를 받아오는 역할을 한다
struct PlayButton: View {
@Binding var isPlaying: Bool
var body: some View {
Button(action: {
self.isPlaying.toggle()
}) {
Image(systemName: isPlaying ? "pause.circle" : "play.circle")
}
}
}
다음으로 부모의 뷰에서는 $ 기호를 통해 자식에게 Binding 할 스테이트를 전달해준다
struct Podcaster: View {
@State private var episode = Episode(title: "Some Episode",
showTitle: "Great Show",
isFavorite: false)
var body: some View {
VStack {
Toggle("Favorite", isOn: $episode.isFavorite) // Bind to the Boolean.
PlayerView(episode: episode)
}
}
}
반응형
'iOS > Swift배우기' 카테고리의 다른 글
Xcode에서 SwiftUI 코드선택 익숙해지기 (0) | 2024.03.22 |
---|---|
[Swift] PropertyWrapper 사용법 (0) | 2024.03.22 |
SwiftUI에서 {} 동작 원리 (0) | 2024.03.20 |
[Swift] Generic이란 (0) | 2024.03.20 |
[Swift] inout 파라미터 (0) | 2024.03.20 |
댓글