5-2 18 topics 💾 Storage · CoreData · SwiftData

데이터 영속성

💡 앱을 껐다 켜도 데이터가 살아있게 하고 싶습니다

5-1에서 서버에서 데이터를 받았습니다. 자연스러운 다음 질문 — "앱을 껐다 켜도 남아있게 하려면?" 받아온 데이터를 어디에 어떻게 저장하는가가 앱의 신뢰성을 결정합니다.

💡 왜 여기서?
네트워크와 영속성은 항상 세트입니다. 받아온 데이터를 어디에 어떻게 저장하는가가 앱의 신뢰성을 결정합니다.
TOPICS COMPLETED 0 / 18
Topics
저장소용도보안
UserDefaults소량 설정값, Codable 타입낮음
Keychain패스워드, 토큰, 민감 정보높음 (HW)
FileManager이미지, 문서, 바이너리중간
UserDefaults — 소량 설정값, Codable 커스텀 타입
Keychain — 패스워드, 토큰 등 민감한 정보
FileManager — 이미지, 문서, 바이너리
크기 / 보안 / 동기화 필요 여부 — 선택 기준
SELECT, INSERT, UPDATE, DELETE
WHERE, ORDER BY, LIMIT
JOIN — 관계 있는 테이블 연결
INDEX — B-Tree 인덱스, 쿼리 속도 향상 원리
GRDB — Swift에서 SQLite 직접 다루기
Entity, Attribute, Relationship 설계
NSFetchRequest + Predicate 조건 조회
SwiftData — @Model, @Query (iOS 17+)
Migration — 스키마 변경 시 데이터 유지
Core Data vs SwiftData 선택 기준
CloudKit — iCloud 연동
Firebase Firestore — 실시간 동기화
오프라인 우선 — Local First 패턴
충돌 해결 전략
Quiz
💾 5-2 데이터 영속성
💡 실전 상황: 사용자의 로그인 토큰을 저장해야 합니다.
어디에 저장하시겠습니까?
올바른 저장소는?
← 5-1 HTTP와 REST API 5-3 네트워크 보안 →