Я пытаюсь связать двух сборщиков на основе их выбора ... Один сборщик - это список c ... Затем я также хотел бы воспроизвести эти сборщики, чтобы кто-то мог сделать выбор, основываясь на первом.
Однако, когда один элемент выбран на первом, я хочу, чтобы второй отразил это и изменил элементы в средстве выбора.
Я пытался использовать ObservableObject, но когда дело дошло до несколько представлений одного типа, каждый сборщик получал один и тот же ObservableObject.
Вот некоторый код ..
import SwiftUI
import Combine
class section_array: ObservableObject {
let objectWillChange = ObservableObjectPublisher()
var first_value = 0 { willSet { objectWillChange.send() } }
var second_value = 0 { willSet { objectWillChange.send() } }}
struct SwiftUIView: View {
@Binding var master_sections: [ContentView.my_Section]
@ObservedObject private var first_value: section_array = section_array()
// @Binding var current_section: ContentView.my_Section
@State private var comment: String = String()
var body: some View {
VStack {
Picker(selection: self.$first_value.first_value , label: Text("Subsection")) {
ForEach(0 ..< self.master_sections.count) {
Text(self.master_sections[$0].name)
}}
TextField("Enter your comment.", text: $comment)
}
}
}
Я пытаюсь получить к нему доступ здесь:
ForEach(master_subsections) { result in
SwiftUIView(master_sections: self.$subsections)
}