Как программно удалить все элементы из окна выбора - PullRequest
0 голосов
/ 18 февраля 2020

В моем приложении SwiftUI есть следующий код

struct ContentView: View {

@State private var selectedCountry: Country?
@State private var showSetting = false

@FetchRequest(entity: Country.entity(),
              sortDescriptors: [NSSortDescriptor(keyPath: \Country.cntryName, ascending: true)]
) var countries: FetchedResults<Country>

var body: some View {
    NavigationView {
        VStack {
            Form {
                Picker("Pick a country", selection: $selectedCountry) {
                    ForEach(countries, id: \Country.cntryName) { country in
                        Text(country.cntryName ?? "Error").tag(country as Country?)
                    }
                }
                if selectedCountry != nil {
                    DetailView(cntryName: (selectedCountry?.cntryName!)!)
                }
            }
        }
        .navigationBarTitle("UNECE Data")
        .navigationBarItems(trailing: Button("Settings", action: {
            self.showSetting.toggle()
        }))
    }
    .sheet(isPresented: $showSetting) {
        SettingsView(showSetting: self.$showSetting)
    }
}
}

Я делаю обновление сущности CoreData Country в SettingView, и как только приложение возвращается в ContentView, я хочу удалить все элементы из средства выбора и загрузить fre sh данные. Код над дублирующими предметами в Picker - добавьте новые в старый набор.

...