POSTS

72
P_001 · SWIFT

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

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

JUN 02, 2026 · 6 MIN
#swift#urlsession#concurrency
P_002 · SWIFTUI

NavigationStack path가 커질 때 Route enum으로 버티기

SwiftUI NavigationStack에서 여러 모델 타입을 path에 직접 넣다가 화면 전환이 흩어진 경험과 Route enum으로 목적지를 모으는 기준을 정리한다.

JUN 02, 2026 · 6 MIN
#swiftui#navigationstack#navigation
P_003 · SWIFTUI

SwiftUI @State 초기값이 바인딩을 따라 바뀌지 않을 때

SwiftUI View init에서 @State를 Binding 값으로 초기화했다가 부모 값 변경을 놓친 경험과 draft state, onChange, id 재생성 기준을 정리한다.

JUN 02, 2026 · 6 MIN
#swiftui#state#binding
P_004 · SWIFTUI

SwiftUI searchable 붙이고 검색 상태가 지저분해졌을 때

SwiftUI searchable에서 입력 중인 searchText, 실제 API query, 검색 결과 상태를 한 값에 묶었다가 꼬인 경험과 상태를 나눠 정리한 패턴.

JUN 01, 2026 · 6 MIN
#swiftui#searchable#search
P_005 · SWIFT

UICollectionViewCompositionalLayout 가로 스크롤 섹션에서 삐끗한 것들

UICollectionViewCompositionalLayout에서 orthogonalScrollingBehavior로 가로 스크롤 섹션을 만들 때 paging, group width, estimated size, section inset에서 자주 헷갈린 지점을 정리한다.

JUN 01, 2026 · 7 MIN
#uikit#uicollectionview#compositionallayout
P_006 · SWIFT

iOS 17에서만 죽는 SwiftData 크래시 — unmanaged @Model의 함정

ModelContext 밖에서 init한 @Model의 합성 getter가 iOS 17 런타임에서 SIGABRT — 운반은 순수 struct로 바꿨다.

MAY 29, 2026 · 4 MIN
#swiftdata#swift#ios17
P_007 · SWIFTUI

SwiftUI TextField 숫자 입력이 자꾸 되돌아갈 때

SwiftUI TextField에 Int를 바로 묶었다가 빈 입력과 검증 타이밍에서 막혔다면 String 입력 상태를 따로 두는 방법이 편하다.

MAY 27, 2026 · 4 MIN
#swiftui#textfield#formatstyle
P_008 · SWIFTUI

@Bindable vs @Binding, 둘이 뭐가 다른지 한 번 정리

iOS 17에서 @Bindable이 추가되면서 @Binding이랑 헷갈리기 시작했다. 언제 뭘 써야 하는지 한 번에 정리.

MAY 26, 2026 · 5 MIN
#swiftui#bindable#binding