Published 는 데이터가 다른 곳에서도 사용될 수 있도록 (널리알리는) 만들어주는 프로퍼티 래퍼입니다.
프로퍼티를 @Published 프로퍼티 래퍼를 사용하여 Publishing 하여 다른 곳에서도 사용될 수 있도록 해줍니다. @Published 프로퍼티 래퍼는 $ 연산자와 함께 사용되며 아래 예제 코드처럼 사용될 수 있습니다.
final class MyViewModel: ObservableObject {
@Published var isOn = false
func toggle() {
isOn.toggle()
}
}
만일 프로퍼티가 변경될 시 published 로 선언된 프로퍼티는 @ObservedObject 프로퍼티 래퍼를 사용하여 즉각적으로 대응을 할 수 있습니다.
struct MyView: View {
@ObservedObject var viewModel = MyViewModel()
var body: some View {
Button(viewModel.isOn ? "on" : "off") {
viewModel.toggle()
}
}
}
'SwiftUI' 카테고리의 다른 글
completion, @escaping (0) | 2023.12.15 |
---|---|
MVVM Design Pattern (0) | 2023.12.15 |
Chart Proxy (0) | 2023.12.14 |
DownLoading Image from server (AsyncImage) (0) | 2023.12.14 |
Task Group (withTaskGroup, withThrowingGroup) (0) | 2023.12.13 |