Combine Overview

sanghee·2022년 5월 2일
0

🍀인턴 스터디

목록 보기
11/12

Combine Overview

Combine이란?

  • Combine은 ‘결합하다, 합치다’라는 의미를 가진다.
  • 연산자들을 결합하여 비동기식 이벤트 처리를 처리한다.



Overview

  • Combine 프레임워크는 많은 종류의 비동기적 이벤트들을 처리한다.
  • publisher는 시간이 지남에 따라 변경될 수 있는 값들을 나타낸다.
  • subscriber는 publisher로부터 값을 받는다.

Publisher 프로토콜

  • Publisher 프로토콜은 시간이 지남에 따라 일련의 값들을 전달할 수 있는 타입을 정의한다.
  • Publisher는 연산자들을 가지고 있다. upstream publisher로부터 값들을 받고 다시 publish할 수 있다.

Subscriber 프로토콜

  • publisher의 체인 끝에 subscriber가 element를 받으면 해당 element에 대해 동작한다.
  • publisher는 subscriber가 명시적으로 요청한 경우에만 값을 내보낸다. 이를 통해 subscriber는 이벤트로부터 값을 받는 속도를 조절할 수 있다.



상세

  • 몇몇 Foundation 타입들은 Timer, NotificationCenter, URLSession을 포함한 publisher들을 통해 기능을 노출한다.
  • Combine은 또한 Key-Value Observing과 호환되는 모든 속성들에 대해 기본 publisher를 제공한다.

활용 예시

  • 예를 들어, 텍스트필드 publisher로부터 업데이트들을 구독하여 해당 텍스트를 사용하여 URL을 요청할 수 있다.
  • 그 후 다른 publisher를 사용하여 응답을 처리하고 앱을 업데이트할 수 있다.

장점

  • 이벤트 처리 코드들을 중앙에 놓고 중첩 클로저나 컨벤션 기반의 콜백들을 제거할 수 있다.
  • 즉, 코드를 읽거나 유지보수하기 쉽게 작성할 수 있다.



참고 문서

profile
👩‍💻

0개의 댓글