Ok -
Я хочу, чтобы представление выбора выбирало один оператор: "=", "<", ">" Этот оператор будет отправлен как привязка:
@Binding var op:String
Мой сборщик:
Picker(selection: binding, label: Text("Query Type")) {
ForEach(0..<self.operators.count) { index in
Text(self.operators[index]).tag(index)
}
}.pickerStyle(SegmentedPickerStyle())
.padding()
Теперь мое связывание с CallBack:
let binding = Binding<Int>(
get: {
return self.pickerSelection
},
set: {
//pickerSelection = $0
print("SETTTING: \($0)")
self.op = self.operators[self.pickerSelection]
self.queryCallback()
})
Итак, я могу идеально настроить сборщики. НО, когда я возвращаюсь к редактированию моих данных, сборщик никогда не может выбрать существующий связанный оператор, скажем, "<" </p>
Я вставил в init an:
pickerSelection = operator.firstIndex (opValue)
Однако это просто запустит бесконечный цикл, так как pickerSelection является переменной @State
У кого-нибудь есть решение?