Я не понимаю, как реализовать в SwiftUI простой сборщик, показывающий список значений, которые сохраняют выбранное значение, переключаясь между различными представлениями. Кстати, я могу использовать выбранное значение для обновления модели через среду Combine.
вот код, но onAppear{}
/ onDisappear{}
работает не так, как ожидалось:
struct CompanyView: View {
@ObservedObject var dataManager: DataManager = DataManager.shared
@State var selTipoAzienda = 0
var body: some View {
VStack {
companyPhoto
Text("Company view")
Form {
Picker(selection: $selTipoAzienda, label: Text("Tipo Azienda")) {
ForEach(0 ..< self.dataManager.company.tipoAziendaList.count) {
Text(self.dataManager.company.tipoAziendaList[$0])
}
}
}
Button(action: {self.dataManager.cambiaTipoAzienda(tipoAzienda: self.dataManager.company.tipoAziendaList[self.selTipoAzienda]) }) {
Image(systemName: "info.circle.fill")
.font(Font.system(size: 28))
.padding(.horizontal, 16)
}
}
// .onAppear{
// self.selTipoAzienda = self.dataManager.company.tipoAziendaList.firstIndex(of: self.dataManager.company.tipoAzienda) ?? 0
// }
// .onDisappear{
// self.dataManager.cambiaTipoAzienda(tipoAzienda: self.dataManager.company.tipoAziendaList[self.selTipoAzienda])
// }
}
Я думаю, что привязка и didSet были бы ответом, но я не знаю, как они должны быть реализованы