Tailwind CSSTailwind CSS
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
  • 第 2 章:创建第一个 SwiftData 应用

第 2 章:创建第一个 SwiftData 应用

Xcode 项目设置:如何启用 SwiftData

1. 创建支持 SwiftData 的新项目

在 Xcode 15 或更高版本中创建项目时:

  1. 选择 File > New > Project...
  2. 选择 iOS App 模板
  3. 勾选 Use SwiftData 复选框(位于界面右上角)
  4. 确保语言选择 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 到现有项目:

  1. 添加框架依赖:

    • 在项目导航器中选中项目
    • 选择 Targets > General > Frameworks, Libraries, and Embedded Content
    • 点击 + 添加 SwiftData.framework
  2. 配置 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 窗口查看。

Last Updated:: 5/30/25, 5:21 PM