添加 / 删除 / 标记任务
实现待办事项的增删改是核心功能,SwiftUI 结合状态管理使操作简洁高效。
添加任务
通过绑定输入框内容,创建新任务并加入列表:
@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 处理删除操作:
List {
ForEach(todos) { todo in
Text(todo.title)
}
.onDelete { indexSet in
todos.remove(atOffsets: indexSet)
}
}
标记任务完成
通过点击切换任务完成状态:
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 用户交互的基础。
相关内容
- 什么是 Swift? Swift 是 Apple 推出的现代编程语言,专为 iOS、macOS、watchOS 与 tvOS 应用开发而设计,语法简洁、安全高效,广泛应用于移动开发与...
- Swift 与 Objective-C 的比较 Swift 与 Objective-C 都是 Apple 推出的开发语言,前者强调安全与现代化,后者历史悠久且成熟。了解两者异同有助于更好地选择开发工具。
- 安装 Xcode 与 Playground 本章介绍如何安装 Xcode 和使用 Swift Playground 进行基础练习,适合 Swift 初学者快速上手,无需搭建复杂环境即可体验代码编写与运行。
- Swift 的发展历史和现状 Swift 作为 Apple 推出的现代编程语言,经历了快速的发展和演进,现已成为 iOS、macOS 等平台主流开发语言,拥有活跃的社区和广泛的应用。
- 变量与常量 本章介绍 Swift 中变量与常量的定义与使用,帮助理解数据存储与修改的基本概念,是掌握 Swift 编程的基础。
- 数据类型 本章讲解 Swift 中的基本数据类型,包括整数、浮点数、布尔值和字符串,帮助理解变量和常量的数据存储与操作方式。