퍼블리셔의 요소들을 받기위해 서브스크라이버를 사용한다. subscriber는 Input(associated Type)을 정의하고 있음. 또한 퍼블리셔는 Output을 정의함으로서 어떤 이벤트를 방출할지 선언한다. 퍼블리셔와 서브스크라이버는 그들이 받거나 전달할 에러를 명시하기 위해 Failure타입을 정의함. Input과 OutPu타입은 일치해야 하고 서브스크라이버와 퍼블리셔의 Error타입 또한 일치해야함.
예시)
let sub = NotificationCenter.default
.publisher(for: NSControl.textDidChangeNotification, object: filterField)
.sink(receiveCompletion: { print ($0) },
receiveValue: { print ($0) })
서브스크라이브 타입은 sink, assing으로 생성되는데 이둘 모두 Cancellable프로토콜을 채택하기 때문에 Cancel메소드를 통해 구독을 취소 할 수 있음.