第 2 章:创建第一个 SwiftData 应用
Xcode 项目设置:如何启用 SwiftData
1. 创建支持 SwiftData 的新项目
在 Xcode 15 或更高版本中创建项目时:
- 选择 File > New > Project...
- 选择 iOS App 模板
- 勾选 Use SwiftData 复选框(位于界面右上角)
- 确保语言选择 Swift,界面技术选择 SwiftUI
// 自动生成的 App 入口文件会包含 SwiftData 支持
import SwiftData
import SwiftUI
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
// 自动生成的 ModelContainer 配置
.modelContainer(for: YourModel.self)
}
}
2. 为现有项目添加 SwiftData 支持
若需手动添加 SwiftData 到现有项目:
添加框架依赖:
- 在项目导航器中选中项目
- 选择 Targets > General > Frameworks, Libraries, and Embedded Content
- 点击 + 添加
SwiftData.framework
配置 ModelContainer:
// 在 App 入口文件中手动添加
.modelContainer(
for: YourModel.self,
configurations: ModelConfiguration(
isStoredInMemoryOnly: false // 默认持久化到磁盘
)
)
3. 必要环境检查
- Xcode 要求:15.0+
- 部署目标:iOS 17+/macOS 14+
- Swift 版本:5.9+
4. 常见问题排查
| 问题现象 | 解决方案 |
|---|---|
| "No such module 'SwiftData'" | 1. 检查框架是否添加 2. 清理构建文件夹 (Cmd+Shift+K) |
| 预编译头错误 | 确保 Bridging Header 中不包含 Core Data 头文件 |
| 模拟器崩溃 | 检查部署目标是否符合要求 |
5. 验证设置是否成功
创建测试模型验证:
@Model
class TestItem {
var name: String
init(name: String) { self.name = name }
}
// 在视图中尝试插入数据
struct TestView: View {
@Environment(\.modelContext) private var context
var body: some View {
Button("Add Item") {
context.insert(TestItem(name: "Test"))
}
}
}
提示:成功运行后会在应用沙盒的
Application Support目录生成.store数据库文件,可通过 Xcode 的 Devices and Simulators 窗口查看。
