gpt4 book ai didi

ios - 离开 View 时删除完成时的列表项

转载 作者:行者123 更新时间:2023-12-01 16:11:46 27 4
gpt4 key购买 nike

我正在构建一个用于学习 SwiftUI 的小型待办事项应用程序,我可以在 CoreData 中创建一个任务列表并将它们标记为完成,这会将 isComplete 设置为 true 并将图像从空圆圈更改为复选标记。

List {
ForEach(taskItems, id: \.self) { item in
HStack {
if item.isComplete == true {
Image(systemName: "checkmark.circle.fill").padding(5.0).foregroundColor(/*@START_MENU_TOKEN@*/.blue/*@END_MENU_TOKEN@*/).font(.system(size: 24))
.onTapGesture {
item.isComplete.toggle()
self.saveTasks()
}
} else {
Image(systemName: "circle").padding(5.0).foregroundColor(/*@START_MENU_TOKEN@*/.blue/*@END_MENU_TOKEN@*/).font(.system(size: 24))
.onTapGesture {
item.isComplete.toggle()
self.saveTasks()
}
}
Text("\(item.title)")
}
.padding(.vertical, 5.0)
}
.onDelete(perform: deleteTask)
}
但是,我希望在用户离开 View 后将这些项目从列表中删除(如原生 iOS 提醒应用程序)。我的获取请求中有一行代码确实从列表中删除了项目,但它会立即删除它们。
@FetchRequest(
entity: TaskItem.entity(),
sortDescriptors: [NSSortDescriptor(keyPath: \TaskItem.order, ascending: false)]
predicate: NSPredicate(format: "isComplete == %@", NSNumber(value: false))
) var taskItems: FetchedResults<TaskItem>
在点击项目图像时,如何将项目标记为完成,但仅在用户离开 View 或应用程序后才删除列表项?非常感谢!
App UI

最佳答案

例如,如果您的上级父级是 Vstack,则在您的最高父级 View 上使用

body {
VStack {
}
.onDisappear {
//perform removal of items
}
}


}

关于ios - 离开 View 时删除完成时的列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62748120/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com