onDelet не обновляет список - PullRequest
1 голос
/ 23 апреля 2020

я делаю маленькое приложение, используя то, что я изучаю из 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()

       } 

это не обновление списка, я должен выйти из detailView назад, тогда я могу видеть изменения

1 Ответ

0 голосов
/ 23 апреля 2020

Благодаря помощи @ Volker88 и @PaFi я просто добавляю @ObservedObject var user : User к своему объекту, чтобы swift знал, что что-то изменилось

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...