[Swift] Combine 공부하기

CHO·2023년 4월 5일
0

[Swift] 공부하기

목록 보기
13/13

Combine
: 2019년 Apple에서 만든 새로운 프레임워크이다!
: 이벤트 처리 Operator을 Combine해서 비동기식 이벤트 처리를 한다고 한다
: Combine 프레임워크를 시간 경과에 따라 변경되는 값을 내보내는 Publisher(발행자)과 이를 수신하는 Subscriber(구독자)로 시간 경과에 따른 값을 처리하기 위한 선언적 Swift API를 말한다

: 즉 컴바인은 Publisher, Subscriber을 사용해 비동기 이벤트를 처리하기 위한 프레임워크를 말한다.

: Combine 대체제 - Delegate 패턴, 콜백함수, completion closure 등을 활용해 비동기 프로그래밍을 구현함! 단점은 코드 지저분해지고 예외처리가 까다로웠음
: Combine wkdwja - 비동기처리에 대한 깔끔한 코드처리

핵심개념

키워드: Publisher, Subscriber, Operator, Subscription


(사진출처 : 해리의 유목코딩)


(사진출처 : 해리의 유목코딩)

Publisher과 Subscriber가 서로 데이터를 주고받을 때 항상 두 가지의 타입이 존재
-Publisher에서는 Output 타입과 Failure 타입이 존재한다
-에러가 발생했을 경우 Failure 타입, 그렇지 않다면 Output타입을 방출한다
-이 데이터를 받는 Subscriber은 Publisher의 output 타입과 동일한 Input타입과, 동일한 Failure타입을 가져야 한다

// Publisher(발행자)
protocol Publisher {
associatedtype Output
associatedtype Failure : Error
func receive(subscriber: S) where S: Subscriber,
self.failure == S.Failure,
self.Ouput == S.Input
}

// Publisher의 프로토콜 작성함
// Output, Failure 타입이 존재한다
// 동일한 타입의 Subscriber을 receive 함수로 연결할 수 있다!

profile
매일 개념 익히고 적용합니다

0개의 댓글