데이터를 저장하고 있는 프로퍼티와 데이터를 보여주고 변경시키는 view 사이의 커넥션을 만들어준다.
struct PlayButton: View {
@Binding var isPlaying: Bool
var body: some View {
Button(isPlaying ? "Pause" : "Play") {
isPlaying.toggle()
}
}
}
@Binding 을 통해서 property 변화 공유
struct PlayerView: View {
var episode: Episode
@State private var isPlaying: Bool = false
var body: some View {
VStack {
Text(episode.title)
.foregroundStyle(isPlaying ? .primary : .secondary)
PlayButton(isPlaying: $isPlaying) // Pass a binding.
}
}
}
실제 사용하는 쪽에서는 @State 이용한다.
@Binding했기 때문에 $ << 달러 기호 사용해 매개변수로 넘겨준다.