onDelet 不更新列表
onDelet not updating list
我正在使用我从 100daysofswiftui 中学到的东西做一个小应用程序我有一个导航视图,您可以在其中添加和删除用户导航 link 以查看更多详细信息。
在详细视图中,您可以向用户添加地址并删除它,但删除不起作用
@Environment(\.managedObjectContext) var moc
@Environment(\.presentationMode) var presentationMode
@State private var showAddAddressView = false
let user : User
...
List {
Section(header: Text("Address")) {
ForEach(self.user.addressArray, id: \.self){ address in
AddressCard(address: address)
}.onDelete(perform: self.deleteItem)
}
}
.listStyle(GroupedListStyle())
.environment(\.horizontalSizeClass, .regular)
...
func deleteItem(at offsets: IndexSet) {
for offset in offsets {
let address = self.user.addressArray[offset]
self.moc.delete(address)
}
try? self.moc.save()
}
这不是在更新列表我必须退出 detailView 返回,然后我才能看到更改
感谢@Volker88 和@PaFi 的帮助
我只是将 @ObservedObject var user : User
添加到我的对象中,这样 swift 就知道发生了变化
我正在使用我从 100daysofswiftui 中学到的东西做一个小应用程序我有一个导航视图,您可以在其中添加和删除用户导航 link 以查看更多详细信息。
在详细视图中,您可以向用户添加地址并删除它,但删除不起作用
@Environment(\.managedObjectContext) var moc
@Environment(\.presentationMode) var presentationMode
@State private var showAddAddressView = false
let user : User
...
List {
Section(header: Text("Address")) {
ForEach(self.user.addressArray, id: \.self){ address in
AddressCard(address: address)
}.onDelete(perform: self.deleteItem)
}
}
.listStyle(GroupedListStyle())
.environment(\.horizontalSizeClass, .regular)
...
func deleteItem(at offsets: IndexSet) {
for offset in offsets {
let address = self.user.addressArray[offset]
self.moc.delete(address)
}
try? self.moc.save()
}
这不是在更新列表我必须退出 detailView 返回,然后我才能看到更改
感谢@Volker88 和@PaFi 的帮助
我只是将 @ObservedObject var user : User
添加到我的对象中,这样 swift 就知道发生了变化