教程 swift tutorial

添加 / 删除 / 标记任务

实现待办事项的增删改是核心功能,SwiftUI 结合状态管理使操作简洁高效。

添加任务

通过绑定输入框内容,创建新任务并加入列表:

swift
@State private var todos: [TodoItem] = []
@State private var newTodoTitle: String = ""

func addNewTodo() {
    guard !newTodoTitle.isEmpty else { return }
    let newTodo = TodoItem(title: newTodoTitle)
    todos.append(newTodo)
    newTodoTitle = ""
}

`

删除任务

使用 List 的内置删除功能,结合 onDelete 处理删除操作:

swift
List {
    ForEach(todos) { todo in
        Text(todo.title)
    }
    .onDelete { indexSet in
        todos.remove(atOffsets: indexSet)
    }
}

标记任务完成

通过点击切换任务完成状态:

swift
ForEach($todos) { $todo in
    HStack {
        Image(systemName: todo.isCompleted ? "checkmark.circle.fill" : "circle")
            .onTapGesture {
                todo.isCompleted.toggle()
            }
        Text(todo.title)
            .strikethrough(todo.isCompleted)
    }
}

状态更新

利用 @State 或 @ObservedObject 确保界面随数据变化自动刷新。

小结

添加、删除和标记任务功能简单易实现,是待办事项 App 用户交互的基础。