반응형

combine 3

Swift - Combine의 Publisher 알아보기 Just, Future, Fail, Empty, Deferred, Sequence

Publisher #Combine #Publisher Just 가장 단순한 형태의 Publisher 입니다. 에러 타입은 항상 Never 입니다. Just((0...5)) .sink { value in print(value) // 0...5 } Future 일반적으로 Publisher의 처리를 sink 라는 구독을 형태로 많이 처리하게 되는데 이 때 클로저를 전달하는 과정에서 콜백 기반의 completion 핸들러를 사용하게 되는데 Futrue를 통하여 더욱 깔끔한 코드 작성이 가능해 집니다. let myFuture = Future { promise in promise(.success(10)) } myFuture.sink { value in print(value) // 10 } URLSeesion 이나 ..

ios/Combine 2022.02.08

SwiftUI - Combine (3) Combine의 생명 주기(Life Cycle)

Back pressure Combine은 구독자가 데이터의 흐름을 제어하도록 설계되어 있습니다. 그래서 구독자는 파이프라인에서 처리가 발생하는 시기와 대상도 제어합니다. 구독자가 얼마나 많은 정보를 원하거나 수용할 수 있는지에 대한 정보를 제공함으로써 파이프라인 내에서 처리를 주도한다는 것을 의미합니다. 이러한 요청은 구성된 파이프라인을 통해 전파되며 각 Operator는 차례대로 데이터 요청을 수락하고 연결된 Publisher에게 정보를 요청합니다. 이 것을 백 프레셔 라고 불리는 Combine의 기능이라고 합니다! 파이프라인이 취소되면 해당 파이프라인은 다시 시작되지 않습니다. 취소된 파이프라인 대신 새로운 파이프라인을 만들어야 합니다. 생명주기(Life Cycle) 1. 구독자가 게시자에게 연결되면..

ios/Combine 2022.01.21

SwiftUI - Combine (2) 핵심 개념 (Publisher, Subscriber, Operator, Subject)

Publisher(게시자) 요청 시 데이터를 제공해줌 구독이 없는 경우 Publisher는 데이터를 제공하지 않음 두 가지 유형을 제공함(Outpt Type, Failure Type) Subscriber(구독자) 구독자는 데이터를 요청하고 Publisher가 제공한 데이터(및 오류)를 처리해야 함 입력에 대한 유형과 실패에 대한 유형 두 가지 연관된 유형 구독자는 데이터를 요청을 시작하고 수신하는 데이터의 양을 제어함 Subscriber가 없으면 게시가 아예 되지 않기 때문에 Subscriber는 작업을 주도하는 것으로 생각할 수 있습니다. Operator(연산자) 연산자는 Publisher Protocol과 Subscriber Protocol을 모두 채택하는 클래스 게시자 구독 및 모든 구독자에게 결과..

ios/Combine 2022.01.20
반응형