onDelet不更新列表

问题描述 投票:0回答:1

我正在用我从100daysofswiftui中学到的东西做一个小程序,我有一个导航视图,在那里你可以添加和删除用户,一个导航链接来查看更多细节。

在细节视图中,你可以给用户添加地址,并删除它,但删除它不工作。

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

       } 

这是不更新的列表,我必须走出详细视图和回,然后我可以看到的变化。

swift core-data swiftui swiftui-list
1个回答
0
投票

多亏了@Volker88和@PaFi的帮助,我只是添加了以下内容 @ObservedObject var user : User 到我的对象上,这样一来,swift就知道有什么变化了。

© www.soinside.com 2019 - 2024. All rights reserved.