SWIFT
19P_001
·
SWIFT
@MainActor를 클래스에 통째로 붙이면 생기는 fetch 함정
UIKit 때문에 클래스 전체에 @MainActor를 붙였다가 async fetch까지 메인 액터에 묶인 사례. Swift Concurrency에서 UI 빌드와 데이터 fetch 격리를 나누는 방법.
MAY 21, 2026 · 6 MIN
P_002
·
SWIFT
Swift Concurrency 프로젝트에서 GCD가 여전히 답인 자리들
Concurrency로 통일 중이지만 GCD를 일부러 남긴 자리들 — 폴링, fire-and-forget, RW lock, 그리고 sync 콜백
MAY 20, 2026 · 8 MIN
P_003
·
IOS
Foundation Models, Swift 3줄로 온디바이스 LLM 호출하기
iOS 26 Foundation Models 프레임워크 덕분에 OpenAI API 키도, 비용 청구서도 없이 Swift 3줄로 온디바이스 LLM을 호출할 수 있다. 첫인상을 정리해본다.
MAY 18, 2026 · 6 MIN
P_004
·
SWIFT
서버 스펙 안 나왔을 때 클라 먼저 작업하는 법
백엔드 기다리느라 일정 밀리는 게 싫어서 만든 나름의 체크리스트. 나중에 뜯어고칠 비용을 0에 가깝게.
MAY 14, 2026 · 5 MIN
P_005
·
SWIFT
Swift 프로토콜에 옵셔널 property 넣을 뻔한 이야기
옵셔널 요구사항을 만들고 싶어지면 멈춰라. 십중팔구 프로토콜이 두 개여야 한다.
MAY 14, 2026 · 4 MIN
P_006
·
SWIFT
`final class` 상속 막혔을 때 컴포지션 써본 후기
final 막힌 클래스를 만났을 때, 격언만 외우다 놓친 진짜 답.
MAY 14, 2026 · 4 MIN
P_007
·
SWIFT
GCD 시리얼 큐로 로그 라이터를 재작성한 이유 — actor + AsyncStream을 버린 결정
actor는 mutual exclusion을 보장하지만 thread identity는 보장하지 않는다. Realm/SwiftData 같은 thread-confined 자원에는 GCD serial queue가 답인 이유.
MAY 13, 2026 · 5 MIN
P_008
·
SWIFT
Swift 6에서 매일 만나는 변화 7가지 — strict concurrency부터 typed throws까지
Swift 6에서 매일 실무 코드를 만질 때 부딪히는 변경 7가지 정리. strict concurrency 모드, Sendable 강제, typed throws, existential any 강화, migration mode 등.
MAY 13, 2026 · 4 MIN