SwiftData @Query 실전 함정 두 가지 — enum #Predicate와 빈 목록의 modelContext

문제 상황 문서 스캔 앱을 만들면서 Inbox/Archive 목록을 구현하고 있었는데요. SwiftData @Query로 문서 상태별 필터링을 하려던 순간, 예상치 못한 컴파일 에러 두 개를 연달아 만났습니다. 함정 1: #Predicate에서 enum 비교가 안 된다 처음 시도한 코드 자연스럽게 이렇게 작성했거든요. @Model class Document { var status: DocumentStatus // enum 저장 프로퍼티 // ... } enum DocumentStatus: String, Codable { case inbox, archived } 그리고 @Query에서 필터링: @Query( filter: #Predicate<Document> { $0.status == .inbox }, sort: \Document.createdAt, order: .reverse ) private var documents: [Document] 깔끔해 보이죠? 그런데 빌드하면 컴파일 에러가 나요. ...

2026년 4월 26일 · 2 분 · Young