IOS/Combine
-
Combine Operators 2(Replace)IOS/Combine 2024. 4. 21. 19:03
안녕하세요 이번 글에선 Upstream 방출 값을 Replace하는 replaceNil, replaceEmpty를 알아보도록 하겠습니다. replaceNil(with:) - 옵셔널 값을 핸들링 할 때 사용되며 nil일 때 with파라미터의 지정된 값으로 변경할 수 있는 Operator입니다. ["A", nil, "C"].publisher .replaceNil(with: "-") .sink { print($0) } optional로 감싸져 있는 것을 unwrapping 하는 방법은 .eraseToAnyPublisher 및 with 파라미터에 as String으로 캐스팅 하는 방법이 있습니다. ["A", nil, "C"].publisher .eraseToAnyPublisher() .replaceNil(wit..
-
Combine Operators 1 (transforming)IOS/Combine 2024. 4. 13. 15:23
Operator Combine을 영어로 비교하자면 Operator는 단어 같은 존재입니다. Combine사용 시 필수적으로 사용되며, 다양한 연산을 맡아 처리하고 다시 방출하는 메커니즘을 가지고 있습니다. 이런 Operator를 가지고 방출된 값을 Collect해 배열로 합쳐 subscriber에게 전달하거나, 예외처리 같은 작업도 가능합니다. 따라서 Operators를 Upstream Publisher를 재가공한 다른 형태의 Publisher라 이해하면 좋을 거 같습니다. Combine에서 여러가지 Operator가 존재합니다. 1. collect() Publisher가 방출하는 값들을 Single Array로 묶어서 다시 방출하는 연산자입니다. Upstream Publisher가 종료될 때까지 기다리..
-
Combine Cancellable, subscriptionIOS/Combine 2024. 4. 7. 10:38
Cancellable protocol 애플에선 Cancellable 프로토콜을 activitiy or action들을 cancellation 할 수 있게 도와주는 프로토콜이라 설명하고 있습니다. 이런 Cancellable protocol을 conforming 하는 타입은 Combine에서 .sink, assign을 통한 구독자 생성 메소드가 있습니다. A protocol indicating that an activity or action supports cancellation. subscription Subscriber와 Publisher 사이를 이어주는 역할을 하는 프로토콜이자 Combine의 중요 개념입니다. Combine에선, Subscriber - Publisher 사이 스트림을 이어주는 역할을 ..
-
Combine - Subscriber 2편IOS/Combine 2024. 3. 30. 17:41
Combine - Subscriber 1편에선 sink를 통해 Subscriber를 구현했습니다. 이번 글에선 assign(to:,on:) assing(to:) 방법을 통한 구독을 포스팅하겠습니다. 1. assign(to:on:) Publisher에서 방출받는 값을 Object의 KVO-Compliant property에 할당합니다. 예제코드는 다음과 같습니다. class ExampleObject { var value: String = "" { didSet { print(value) } } } let exampleObject = ExampleObject() let publisher = ["Hello", "Combine"].publisher publisher .assign(to: \.value, on: e..
-
Combine - Subscriber 1편IOS/Combine 2024. 3. 16. 08:59
이번 글은 Combine의 핵심중에 하나인 Subscriber가 무엇이고 어떻게 Publisher를 구독하는지 알아보겠습니다. Subscriber는 총 2번에 나누어서 설명드리겠습니다. 이번글은 간단한 개념과 sink를 사용한 구독을 알아보겠습니다! Publisher 포스팅은 다음글을 참고해 주세요! 2024.03.10 - [IOS/Combine] - Combine 구성요소 Publisher Combine 구성요소 Publisher 지난 1편은 Combine의 맛보기를 보았고 이제 본격적으로 Combine의 Publisher , Subscription, Subscriber, Operator부터 시작해 다양한 Operator를 공유하려 합니다. 1편은 요기 링크 걸어둘게요!!! 못 보신분은 보고 jjunb..
-
Combine 구성요소 PublisherIOS/Combine 2024. 3. 10. 20:07
지난 1편은 Combine의 맛보기를 보았고 이제 본격적으로 Combine의 Publisher , Subscription, Subscriber, Operator부터 시작해 다양한 Operator를 공유하려 합니다. 1편은 요기 링크 걸어둘게요!!! 못 보신분은 보고 오시는 걸 추천드립니다. 2024.03.03 - [IOS/Combine] - Combine Framework란? Combine Framework란? 최근 Swift Combine에 대해서 관심이 생겼고 정리겸 지식을 공유하고자 이렇게 글을 작성합니다. 앞으로 주 단위로 콤바인에 대해 알아보는 시간을 가져볼태니 궁금한 점이나 오타, 잘못된 부분은 jjunbbang.tistory.com Combine은 "시간의 흐름에따라 방출되는 'Value'를..
-
Combine Framework란?IOS/Combine 2024. 3. 3. 08:51
최근 Swift Combine에 대해서 관심이 생겼고 정리겸 지식을 공유하고자 이렇게 글을 작성합니다. 앞으로 주 단위로 콤바인에 대해 알아보는 시간을 가져볼태니 궁금한 점이나 오타, 잘못된 부분은 댓글에 남겨주시면 감사하겠습니다 ㅎㅎ Combine은 무엇일까요? Definition 애플에선 Combine framework는 시간에 따라 매번 방출하는 값을 처리하기 위한 선언형 Swift API를 제공한다라고 하는데요, 쉽게 와닿지 않지만 최대한 쉽게 설명을 해보겠습니다. 0초 1초 2초마다 4, 8, 12 란 값을 방출하는 스트림이 있다고 가정한 그림인데요, Combine은 4, 8, 12란 값을 한 번에 받아 처리할 수 있고 아니면 방출 즉시 값들을 받아 작업을 진행 할 수 있습니다. 또한 이런 결과..