У меня есть два массива с разным количеством элементов, и я хочу отображать каждый из этих элементов в разных подпредставлениях. Таким образом, пользователь должен перейти на вкладку «следующий», и следующий элемент массива будет отображаться до тех пор, пока он / она не окажется в конце массива.
Это должно работать следующим образом:
---FirstView(FirstElement)---SecondView(SecondElement)---ThirdView(ThirdElement)--Close
Mainview
---FirstView(FirstElement)---SecondView(SecondElement)--Close
Значит, мне нужно количество просмотров. Но я не знаю, как это сделать, и не могу найти что-то вроде этого.
Мой код следующий
struct ContentView: View {
@State private var showPopover: Bool = false
var body: some View {
Button(action: {
self.showPopover.toggle()
}) {
Text("Choose a Usergroup")
}.sheet(isPresented: $showPopover) {
NewView(showPopover: $showPopover)
}
}
}
struct NewView: View {
@Binding var showPopover: Bool
@State var namesOfFemaleUsers = ["Sabrina", "Nicole", "Barbara"]
@State var namesOfMaleUsers = ["Peter", "Bart", "Homer", "Bernie", "Carl"]
var body: some View {
NavigationView {
HStack {
NavigationLink(
destination: VariableView(showPopover: $showPopover, arrayData: namesOfMaleUsers),
label: {
Text("Male Users")
})
NavigationLink(
destination: VariableView(showPopover: $showPopover, arrayData: namesOfFemaleUsers),
label: {
Text("Female Users")
})
}
}
}
}
struct VariableView: View {
@Binding var showPopover: Bool
@State var arrayData: [String]
var body: some View {
VStack {
// Here should be a Text with the name of first element and a button to go to the next View with the second element
Button(action: {self.showPopover.toggle()}){
Text("Close")
}
}
}
}