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
ytw_developer