combine 5

[Combine] 에러 처리: tryMap, catch, replaceError

Combine에서의 에러 처리: tryMap, catch, replaceErrorCombine을 사용하다 보면 네트워크 요청, JSON 파싱, 사용자 입력 등 다양한 상황에서 에러가 발생할 수 있습니다.Combine에서는 스트림 중간에 에러가 발생하면 스트림이 종료되므로, 이를 적절히 처리할 수 있는 에러 핸들링 기법이 중요합니다.1. 에러가 있는 Publisher vs 없는 PublisherCombine에서는 Publisher가 에러를 발생시킬 수 있는지 여부에 따라 타입이 다릅니다.// 에러를 발생시키지 않는 Publisherlet noErrorPublisher = Just("Hello") // 타입: Just// 에러를 발생시킬 수 있는 Publisherlet errorPublisher = Fail..

Combine 2025.04.08

[Combine] Scheduler와 비동기 처리 이해하기

Scheduler와 비동기 처리 이해하기Combine을 실제 프로젝트에서 사용하다 보면,"어떤 쓰레드에서 이 작업이 실행될까?", "UI 업데이트는 메인에서 해야 하지 않나?"같은 질문이 생기게 됩니다.이럴 때 사용하는 것이 바로 Scheduler(스케줄러) 입니다.이번 글에서는 Combine에서의 쓰레드 처리와 비동기 흐름 제어 방법에 대해 기초부터 차근히 알아보겠습니다.Scheduler란?Scheduler는 Combine에서 작업을 어떤 스레드/큐에서 실행할지를 제어할 수 있게 해주는 개념입니다.즉, 데이터를 발행하거나 받는 시점의 쓰레드를 지정할 수 있습니다.대표적인 Scheduler 종류Scheduler설명DispatchQueue.main메인 스레드 (UI 업데이트에 필수)DispatchQueue..

Combine 2025.04.08

[Combine] Subject와 @Published... SwiftUI 연동까지

1. Subject란?Subject는 Combine에서 Publisher와 Subscriber 역할을 동시에 수행하는 특수한 타입입니다.외부에서 직접 값을 전달할 수 있기 때문에, 사용자 입력, 이벤트 트리거, 수동 제어가 필요한 상황에서 많이 사용됩니다.Combine에서 제공하는 Subject는 2가지타입설명PassthroughSubject현재 값을 저장하지 않고 발행CurrentValueSubject하나의 값을 저장하며 새로운 구독자에게 즉시 전달✅ PassthroughSubject 예제import Combinelet subject = PassthroughSubject()subject .sink { print("받은 값:", $0) }subject.send("Hello") // 출력: 받은 값:..

Combine 2025.04.07

[Combine] Publisher, Subscriber, Operator, Cancellable

Combine 핵심 구성 요소 자세히 알아보기Publisher, Subscriber, Operator, Cancellable앞선 글에서는 Combine의 기본 개념과 흐름을 간단히 소개했었죠.이번 글에서는 Combine을 제대로 활용하기 위해 꼭 이해해야 할 네 가지 구성 요소를 좀 더 깊이 살펴보겠습니다.🟢 Publisher – 데이터의 발행자Publisher는 말 그대로 값을 외부로 전달하는 역할을 합니다.Combine에서 대부분의 동작은 Publisher로부터 시작됩니다.let publisher = Just("Hello")📌 Publisher는 두 가지 이벤트를 전달값 (Value) – 실제 데이터완료 이벤트 (Completion) – .finished 또는 .failure(Error)📌 주요..

Combine 2025.04.07

[Combine] Swift 비동기 프로그래밍의 새로운 패러다임

Swift 비동기 프로그래밍의 새로운 패러다임iOS 13부터 등장한 Combine 프레임워크는 Apple에서 제공하는 비동기 이벤트 처리를 위한 새로운 방식입니다.기존의 NotificationCenter, delegate, closure, RxSwift 등을 대체하거나 함께 사용할 수 있는 Combine은 선언형 방식으로 코드를 더 간결하고 이해하기 쉽게 만들어줍니다.Combine이란?Combine은 시간에 따라 변화하는 값(데이터 흐름) 을 처리할 수 있도록 해주는 프레임워크입니다.쉽게 말하면, "데이터가 변하면 → 그걸 감지하고 → 원하는 작업을 수행하는" 흐름을 선언형 방식으로 구현할 수 있게 해줍니다.Combine의 핵심 개념1. Publisher데이터를 발행(publish) 하는 주체입니다.시간..

카테고리 없음 2025.01.14