数据持久化知识体系概览
问题
iOS 有哪些数据持久化方案?各自适用什么场景?
答案
持久化方案对比
| 方案 | 适用场景 | 数据量 | 安全性 |
|---|---|---|---|
| UserDefaults | 简单设置、偏好 | 小 | 低(明文 plist) |
| Keychain | 密码、Token、证书 | 小 | 高(系统加密) |
| File System | 文件、图片、JSON | 中 | 中 |
| Core Data | 结构化数据、关系查询 | 大 | 中 |
| SwiftData | Core Data 的现代替代 | 大 | 中 |
| SQLite | 直接 SQL 操作 | 大 | 中 |
学习路线
推荐顺序
- UserDefaults → 基本存储、限制
- Keychain → 安全存储
- 文件系统 → 沙盒目录、FileManager
- Core Data → NSManagedObject、NSFetchRequest、迁移
- SwiftData → @Model、@Query、与 SwiftUI 集成
- SQLite / FMDB / GRDB → 轻量数据库