温馨提示:本文最后更新于
2025-01-19 16:56:03
,某些文章具有时效性,若有错误或已失效,请在下方留言。在 SwiftData 中更新数据非常简单,默认情况会自动保存,无需手动调用保存操作。以下示例演示了创建一个 Student
模型,并获取模型的数据进行更新,数据将自动保存:
@Model class Student {
var id: UUID = UUID()
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
}
struct ContentView: View {
@Query private var students: [Student]
var body: some View {
List(students) { item in
HStack {
Text(item.name)
Button("Update") {
item.name = "Modify Name"
}
}
}
}
}
通过标识符查找对象更新
示例展示了如何通过持久化标识符查找并更新数据模型中的对象。通过使用 @Environment
获取模型上下文,确保可以对模型进行安全的读取和写入操作:
struct ContentView: View {
@Environment(\.modelContext) private var context
func update(yourID: PersistentIdentifier) {
if let student = context.model(for: yourID) as? Student {
student.name = "Modify Name"
}
}
}
编辑预览
在 SwiftUl 视图中编辑并更新 SwiftData
中的数据。
struct ContentView: View {
@Query private var students: [Student]
var body: some View {
List(students) { item in
HStack {
Text(item.name)
EditingView(school: student)
}
}
}
}
struct EditingView: View {
@Bindable var school: School
var body: some View {
Form {
TextField("Name", text: $school.name)
}
}
}
© 版权声明
THE END
暂无评论内容