onDelet未更新列表



我正在使用我从100daysofswiftui中学到的东西做一个litte应用程序。我有一个导航视图,您可以在其中添加和删除用户的导航链接以查看更多详细信息。

在详细信息视图中,您可以向用户添加地址并删除它,但删除它不起作用的

@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()
} 

这不是更新列表,我必须退出详细信息查看背面,然后我可以看到的变化

感谢@Volker88和@PaFi的帮助我只是把@ObservedObject var user : User添加到我的对象中,这样swift就知道发生了变化

最新更新