SWIFT

51
P_001 · SWIFT

Realm에서 SwiftData로: 42개 모델을 옮기는 전략과 함정 (Part 5 — Async/Await 통합)

동기 메서드 안에 숨겨둔 Task { await }는 호출자가 sync 완료를 모르는 fire-and-forget 안티패턴이다. SwiftData 갱신 전 옛 캐시 query가 먼저 도착해 EmptyView 한 프레임이 깜빡인 흐름과 async 시그니처 전파로 정직하게 푼 패턴 정리.

MAY 12, 2026 · 10 MIN
#swiftdata#realm#ios17
P_002 · SWIFT

Realm에서 SwiftData로: 42개 모델을 옮기는 전략과 함정 (Part 4 — Combine 통합)

SwiftData에는 Realm Results 같은 자동 Combine publisher가 없다. Just(snapshot) + NotificationCenter merge로 직접 만들고, Just 첫 emit 즉시 흐름·이벤트 누락·잦은 이벤트·스레드 격리 4함정에 가드 거는 패턴.

MAY 12, 2026 · 12 MIN
#swiftdata#realm#ios17
P_003 · SWIFT

Realm에서 SwiftData로: 42개 모델을 옮기는 전략과 함정 (Part 3 — DAO 패턴)

SwiftData DAO를 `class` 인스턴스로 만들면 ModelContext 라이프사이클이 흩어진다. `enum` + `static` + 단일 진입점으로 정리한 패턴과, Realm 변환 규칙·hidden state 함정까지.

MAY 12, 2026 · 11 MIN
#swiftdata#realm#ios17
P_004 · SWIFT

Realm에서 SwiftData로: 42개 모델을 옮기는 전략과 함정 (Part 2 — Primary Key 함정 3가지)

SwiftData `@Attribute(.unique)` PK를 쓰다 만난 silent failure 3종 — sentinel 기본값, hashValue 시드 랜덤, Predicate enum 비교. 결정적 해시로 막은 이야기.

MAY 11, 2026 · 12 MIN
#swiftdata#primarykey#predicate
P_005 · SWIFT

Realm에서 SwiftData로: 42개 모델을 옮기는 전략과 함정 (Part 1 — 전략편)

iOS 17 최소 지원, 일괄 마이그레이션, 데이터는 다음 sync에서 자연 복원. Realm 의존성을 떼어내는 첫 단추를 정리한다.

MAY 11, 2026 · 13 MIN
#swiftdata#realm#ios17
P_006 · SWIFT

Swift 5.7에서 매일 쓰는 개선 7가지

Swift 5.7에 들어온 변경 중 실무에서 매일 쓰게 되는 것들 위주 정리. if let 단축, any/some, 정규식 리터럴, distributed actor, 클로저 추론, 새 String 처리, Generics where 구문까지.

JUN 15, 2022 · 4 MIN
#swift#swift 5.7
P_007 · SWIFT

UIStackView isHidden이 누적되는 동작과 안전한 토글 패턴

UIStackView 안의 view에 isHidden을 애니메이션으로 토글할 때 누른 횟수만큼 다시 눌러야 보이는 현상의 원인과, 의도대로 동작시키는 안전한 패턴 정리.

APR 13, 2022 · 3 MIN
#uistackview#uikit#animation
P_008 · SWIFT

iOS Fastlane을 적용해보자

Fastlane 적용으로 원시인 탈출하기!

MAR 03, 2022 · 4 MIN
#fastlane