LATEST · SWIFT

URLSession 취소를 실패 알림으로 보여주지 않기

Swift concurrency에서 URLSession 요청을 취소했는데 에러 토스트가 뜨는 문제를 CancellationError와 URLError.cancelled 기준으로 정리한다.

SERIES · SwiftUI 디버깅 패턴 (3)
SEE ALL →
RECENT POSTS 08 / 71
P_001 · SWIFTUI

SwiftUI .task vs .onAppear, 어느 쪽이 안전한가

화면이 사라질 때 비동기 작업이 따라서 취소되느냐의 문제. .task와 .onAppear { Task { } }가 같아 보여도 동작이 갈리는 지점을 정리한다.

MAY 26, 2026 · 3 MIN
#swiftui#task#concurrency
P_002 · SWIFTUI

@FocusState로 키보드 다루기 — 자주 헷갈리는 자리들

TextField 포커스 이동·키보드 dismiss·초기 포커스 — 매번 갸우뚱하는 자리를 한 번에 정리.

MAY 26, 2026 · 3 MIN
#swiftui#focusstate#textfield
P_003 · SWIFT

Swift ClosedRange<Date> 한 줄 때문에 한 달간 헤맨 이야기

Swift ClosedRange<Date>의 precondition trap을 따라가다 보니, 진짜 범인은 캘린더 데이터 매핑에서 가드 변수를 안 쓴 한 줄이었다. 데이터·표현 두 레이어로 막은 회고.

MAY 26, 2026 · 3 MIN
#swift#closedrange#date
MAY 22, 2026
P_004 · SWIFT

Coordinator 패턴에서 부모 없는 외부 진입이 만드는 delegate nil 함정

푸시나 딥링크로 상세 화면을 직접 열 때 부모 Coordinator가 없어 delegate nil로 종료 흐름이 멈춘 문제와 fallback 처리 기록.

MAY 22, 2026 · 5 MIN
#ios#swift#coordinator
P_005 · SWIFT

실기기에서만 깨진 콜드스타트 푸시 race condition 디버깅 기록

시뮬레이터에서는 멀쩡했지만 실기기 콜드스타트 푸시에서만 상세 화면이 열리지 않던 문제를 네 단계로 추적한 기록.

MAY 22, 2026 · 7 MIN
#ios#swift#pushnotification
MAY 21, 2026
P_006 · SWIFTUI

SwiftUI List에서 onAppear로 페이지네이션 짜다가...

SwiftUI List row의 onAppear에서 곧바로 페이지네이션 API를 호출했다가 동시·중복 호출이 폭주했고 마지막 row 판별 + isLoading guard + cursor 세 개로 정리한 기록

MAY 21, 2026 · 4 MIN
#swiftui#list#pagination
P_007 · SWIFTUI

NavigationStack에서 화면이 두 번 쌓이는 세 가지 케이스

SwiftUI NavigationStack에서 같은 화면이 두 번씩 쌓이는 세 가지 케이스와 어떻게 정리했는지 기록

MAY 21, 2026 · 4 MIN
#swiftui#navigationstack#navigation
P_008 · SWIFTUI

SwiftUI 모달 세 개째부터는 Bool 말고 enum 라우팅으로

SwiftUI에서 modal 여러 개를 각각 @State Bool로 관리하다가 깨진 경험과 Identifiable enum 한 개로 묶어 푼 패턴을 정리한 글

MAY 21, 2026 · 5 MIN
#swiftui#sheet#state