2025/04/08 2

[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