Combine

kmjmarine·2023년 4월 27일
0

Combine study 정리 (패캠)

  • Publisher
    • Output
    • Failure: Error
  • Operator
    • Input, Output
    • Failure: Error
  • Subscriber
    • Input
    • Failure: Error

  • Subscription(구독권) - Cancellable protocol을 따름 (연결을 cancel 할 수 있음)

    • Subscriber와 Publisher가 연결됨을 나타냄
    • subscription.cancel()
  • Subject (Publisher)

    • 아래 두가지 빌트인 타입이 있음
    • PasssthroughSubject - 전달한 값 갖고 있지 않음
    • CurrentValueSubject - 전달한 값을 갖고 있음
    • subject.send(completion: .finished)
  • @Published (Publisher)

    • 클래스에 한해서 사용됨
    • 프로퍼티를 퍼블리셔로 만듦 - 자주 변경되는 데이터에 적합
    • $를 이용해서 퍼블리셔에 접근할 수 있음
@published var temperature: Double

$temperature

  • Operator
    • Publisher에게 받은 값을 가공하여 Subscriber에게 제공
  • Scheduler
    • 언제 어떻게 클로져를 실행할지 결정
    • subscribe(on:) - publisher가 어느 스레드에서 실행할지 결정 (백그라운드 무거운 작업)
    • receive(on:) - operator, subscriber가 어느 스레드에서 실행할지 결정 (UI 업데이트)
  • Foundation & Combine
    • NotificationCenter
    • URLSessionDataTask
    • Timer
    • KeyPath binding to NSObject
profile
shared knowledge is long, life is short

0개의 댓글