Swift의 Combine - @Published

June·2023년 3월 8일
0

Combine

목록 보기
2/2
post-thumbnail

@Published property wrapper

Combine을 사용하는 가장 쉬운 방법 중 하나로, ObservableObject 프로토콜에 부합하는 클래스에서 사용될 때 자동으로 데이터 게시를 처리함.

// Publisher (ViewModel)
class ViewModel: ObservableObject {
    @Published var data = "some data..."
}


// Subscriber (View)
struct PublishedView: View {
    @StateObject var vm = ViewModel()
}
  1. ObservableObject를 준수하는 클래스 내에서 @Published 속성 래퍼를 사용하고,
  2. @Published 속성은 변경되는 사항을 등록한 모든 View에 알림.
  3. View는 @StateObject 프로퍼티 래퍼를 사용해 이 ObservableObject와 연결될 수 있음.

ObservableObject

  • @Published 속성값이 변경됨을 View에 알림

@Published

  • 게시자
  • 변경되면 새 값을 전송하거나 게시

@StateObject

  • 구독자
  • 변경사항 수신
  • 그 후 View내부에서 @Published 속성을 사용하는 위치를 찾아, 다음 업데이트 된 값을 표시하도록 관련된 뷰를 다시 그림
profile
안다고 착각하지 말기

0개의 댓글