UIKIT

17
P_001 · SWIFT

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

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

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

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

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

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

UIKit 모달 여러 개가 동시에 present 될 때 큐로 줄 세운 기록

UIKit에서 여러 publisher가 동시에 modal present를 트리거할 때 생기는 충돌을 priority queue, RunLoop 디바운스, dismiss completion으로 직렬화한 사례.

MAY 21, 2026 · 8 MIN
#uikit#coordinator#modal
P_004 · SWIFT

Coordinator re-attach 때 생기는 deinit race window 막기

UIKit Coordinator를 재부착하는 순간 old coordinator deinit과 외부 push/deeplink 이벤트가 겹치며 생기는 race window를 막는 방법.

MAY 21, 2026 · 7 MIN
#ios#coordinator#uikit
P_005 · SWIFT

iOS Coordinator에서 푸시 진입을 단일 라우터로 정리한 기록

UIKit MVVM Coordinator 앱에서 list ViewModel이 푸시를 직접 구독하던 구조를 AppNavigationRouter와 async/await 기반 단일 진입점으로 정리한 사례.

MAY 21, 2026 · 7 MIN
#ios#swift#coordinator
P_006 · SWIFT

@MainActor를 클래스에 통째로 붙이면 생기는 fetch 함정

UIKit 때문에 클래스 전체에 @MainActor를 붙였다가 async fetch까지 메인 액터에 묶인 사례. Swift Concurrency에서 UI 빌드와 데이터 fetch 격리를 나누는 방법.

MAY 21, 2026 · 6 MIN
#swift#concurrency#mainactor
P_007 · IOS

UIButton.Configuration 쓸 땐 layer.cornerRadius 건드리지 말자

layer.cornerRadius 줬는데 안 먹는다면 Configuration이 범인이다

MAY 19, 2026 · 3 MIN
#uibutton#uibutton.configuration#uikit
P_008 · SWIFT

SwiftUI에서 NantesLabel 살리기

SwiftUI Text로는 안 되는 자동 링크 탐지, 줄 수 제한, 더 보기 토글을 UIKit NantesLabel을 UIViewRepresentable로 래핑해서 해결한 패턴과 네 가지 함정 정리.

MAY 14, 2026 · 7 MIN
#swiftui#uikit#uiviewrepresentable