# 数据模型管理

URL: https://caijiao.org/swift/14-todo-app/03-model
Source: docs/swift/14-todo-app/03-model.md
Description: 本章节介绍待办事项 App 中的数据模型管理，涵盖任务模型的定义、属性设计及数据持久化基础，确保数据结构清晰高效。

在待办事项 App 中，数据模型负责定义任务的数据结构和业务属性，是应用核心部分。

## 任务模型定义

通常使用 `struct` 定义任务模型，包含必要属性：

```swift
struct TodoItem: Identifiable, Codable {
    let id: UUID = UUID()
    var title: String
    var isCompleted: Bool = false
    var dueDate: Date?
}
````

* `id`：唯一标识，支持列表渲染。
* `title`：任务名称。
* `isCompleted`：任务完成状态。
* `dueDate`：可选的截止时间。

## Codable 协议

实现 `Codable` 方便任务数据序列化和反序列化，用于本地存储和网络传输。

## 数据管理

* 数据通常由 `ViewModel` 管理，负责任务的增删改查。
* 可结合本地存储（如 UserDefaults、文件或 CoreData）实现数据持久化。

## 小结

清晰、简洁的数据模型设计是高效管理任务数据的基础，确保应用稳定和易扩展。
