SwiftUI에서 가변 개수의 Subview로 View를 생성하려면 어떻게해야합니까?

Libiph

요소 수가 다른 두 개의 배열이 있고이 요소를 서로 다른 하위보기에 표시하려고합니다. 따라서 사용자는 "다음"을 탭해야하며 배열의 끝에있을 때까지 배열의 다음 요소가 표시됩니다.

다음과 같이 작동합니다.

         ---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")
            }
        }
    }
}
그의 성질

여기에 가능한 접근 방식이 있습니다. 사용 가능한 데이터의 인덱스로 작동하고 안전 범위를 확인하십시오.

Xcode 12 / iOS 14로 테스트되었습니다.

struct NewView: View {
    @Binding var showPopover: Bool
    var namesOfFemaleUsers = ["Sabrina", "Nicole", "Barbara"]
    var namesOfMaleUsers = ["Peter", "Bart", "Homer", "Bernie", "Carl"]

    var body: some View {
        NavigationView {
            HStack {
                if !namesOfMaleUsers.isEmpty {
                    NavigationLink(
                        destination: VariableView(showPopover: $showPopover, arrayData: namesOfMaleUsers, index: 0),
                        label: {
                            Text("Male Users")
                        })
                }
                if !namesOfFemaleUsers.isEmpty {
                    NavigationLink(
                        destination: VariableView(showPopover: $showPopover, arrayData: namesOfFemaleUsers, index: 0),
                        label: {
                            Text("Female Users")
                        })
                }
            }

        }
    }
}

struct VariableView: View {
    @Binding var showPopover: Bool
    var arrayData: [String]
    var index: Int

    var body: some View {
        VStack {
            Text("User: \(arrayData[index])")
            if index + 1 < arrayData.count {
                NavigationLink(
                    destination: VariableView(showPopover: $showPopover, arrayData: arrayData, index: index + 1),
                    label: {
                        Text("Next")
                    })
            }
            Button(action: {self.showPopover.toggle()}){
                Text("Close")
            }
        }
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

내 경로 URL에서 URL 매개 변수의 배치를 제어하려면 어떻게해야합니까?

분류에서Dev

매개 변수 목록에서 GTK 테마를 생성하려면 어떻게해야합니까?

분류에서Dev

cfloop에서 동적으로 생성 된 변수를 개별적으로 사용하려면 어떻게해야합니까?

분류에서Dev

PowerShell을 사용하여 ASCII에서 16 진수로의 변환기를 일괄 적으로 생성하려면 어떻게해야합니까?

분류에서Dev

맞춤 매개 변수로 함수를 생성하려면 어떻게해야합니까?

분류에서Dev

Mule의 rollback-exception-strategy 구성 요소에서 maxRedeliveryAttempts 필드의 매개 변수로 세션 변수를 전달하려면 어떻게해야합니까?

분류에서Dev

보안 경로에 _locale 매개 변수를 추가하려면 어떻게해야합니까?

분류에서Dev

webook 알림에서 AWS Lambda 함수로 매개 변수를 가져 오려면 어떻게해야합니까?

분류에서Dev

레일의 루비에서 배열로 매개 변수를 얻으려면 어떻게해야합니까?

분류에서Dev

날짜-변수에서 시즌에 대한 새 변수를 생성하려면 어떻게해야합니까?

분류에서Dev

SQL Server에서 열 a의 개수를 열 b로 가져 오려면 어떻게해야합니까?

분류에서Dev

SQL Server에서 열 a의 개수를 열 b로 가져 오려면 어떻게해야합니까?

분류에서Dev

MATLAB에서 문자열을 기반으로하는 동적 이름으로 변수를 생성하려면 어떻게해야합니까?

분류에서Dev

고정 매개 변수로 numpy에서 함수를 벡터화하려면 어떻게해야합니까?

분류에서Dev

Reitit에서 원본 헤더 매개 변수를 필수로 설정하려면 어떻게해야합니까?

분류에서Dev

f #에서 유형으로 정의 된 객체를 기반으로 새로운 불변 객체를 생성하려면 어떻게해야합니까?

분류에서Dev

터미널에서 시작할 수 있도록 링크 내부의 매개 변수로 링크를 추가하려면 어떻게해야합니까?

분류에서Dev

구조체에 대한 매크로가 구조체와 일치하는 함수 메서드를 생성하려면 어떻게해야합니까?

분류에서Dev

메소드를 함수의 매개 변수로 추가하려면 어떻게해야합니까?

분류에서Dev

JSP의 모델에서 AngularJS 변수로 객체를 가져 오려면 어떻게해야합니까?

분류에서Dev

분기 별 Pandas DataFrame에서 회사 ID로 더미 변수를 생성하려면 어떻게해야합니까?

분류에서Dev

벡터에 두 개의 개체를 하나의 요소로 추가하려면 어떻게해야합니까?

분류에서Dev

벡터에 두 개의 개체를 하나의 요소로 추가하려면 어떻게해야합니까?

분류에서Dev

Lua에서 내 함수에 매개 변수로 전달 된 함수에서 함수의 매개 변수를 얻으려면 어떻게해야합니까?

분류에서Dev

Python Pandas에서 조건부 개수를 새 열로 추가하려면 어떻게해야합니까?

분류에서Dev

PowerShell에서 XML의 새 요소를 자동으로 생성하려면 어떻게해야합니까?

분류에서Dev

View에서 변수를 전역으로 만들려면 어떻게해야합니까?

분류에서Dev

이메일 및 비밀번호로 사용자를 생성 할 때 사용자 개체에 속성을 추가하려면 어떻게해야합니까?

분류에서Dev

locals ()로 변수를 비활성화하려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    내 경로 URL에서 URL 매개 변수의 배치를 제어하려면 어떻게해야합니까?

  2. 2

    매개 변수 목록에서 GTK 테마를 생성하려면 어떻게해야합니까?

  3. 3

    cfloop에서 동적으로 생성 된 변수를 개별적으로 사용하려면 어떻게해야합니까?

  4. 4

    PowerShell을 사용하여 ASCII에서 16 진수로의 변환기를 일괄 적으로 생성하려면 어떻게해야합니까?

  5. 5

    맞춤 매개 변수로 함수를 생성하려면 어떻게해야합니까?

  6. 6

    Mule의 rollback-exception-strategy 구성 요소에서 maxRedeliveryAttempts 필드의 매개 변수로 세션 변수를 전달하려면 어떻게해야합니까?

  7. 7

    보안 경로에 _locale 매개 변수를 추가하려면 어떻게해야합니까?

  8. 8

    webook 알림에서 AWS Lambda 함수로 매개 변수를 가져 오려면 어떻게해야합니까?

  9. 9

    레일의 루비에서 배열로 매개 변수를 얻으려면 어떻게해야합니까?

  10. 10

    날짜-변수에서 시즌에 대한 새 변수를 생성하려면 어떻게해야합니까?

  11. 11

    SQL Server에서 열 a의 개수를 열 b로 가져 오려면 어떻게해야합니까?

  12. 12

    SQL Server에서 열 a의 개수를 열 b로 가져 오려면 어떻게해야합니까?

  13. 13

    MATLAB에서 문자열을 기반으로하는 동적 이름으로 변수를 생성하려면 어떻게해야합니까?

  14. 14

    고정 매개 변수로 numpy에서 함수를 벡터화하려면 어떻게해야합니까?

  15. 15

    Reitit에서 원본 헤더 매개 변수를 필수로 설정하려면 어떻게해야합니까?

  16. 16

    f #에서 유형으로 정의 된 객체를 기반으로 새로운 불변 객체를 생성하려면 어떻게해야합니까?

  17. 17

    터미널에서 시작할 수 있도록 링크 내부의 매개 변수로 링크를 추가하려면 어떻게해야합니까?

  18. 18

    구조체에 대한 매크로가 구조체와 일치하는 함수 메서드를 생성하려면 어떻게해야합니까?

  19. 19

    메소드를 함수의 매개 변수로 추가하려면 어떻게해야합니까?

  20. 20

    JSP의 모델에서 AngularJS 변수로 객체를 가져 오려면 어떻게해야합니까?

  21. 21

    분기 별 Pandas DataFrame에서 회사 ID로 더미 변수를 생성하려면 어떻게해야합니까?

  22. 22

    벡터에 두 개의 개체를 하나의 요소로 추가하려면 어떻게해야합니까?

  23. 23

    벡터에 두 개의 개체를 하나의 요소로 추가하려면 어떻게해야합니까?

  24. 24

    Lua에서 내 함수에 매개 변수로 전달 된 함수에서 함수의 매개 변수를 얻으려면 어떻게해야합니까?

  25. 25

    Python Pandas에서 조건부 개수를 새 열로 추가하려면 어떻게해야합니까?

  26. 26

    PowerShell에서 XML의 새 요소를 자동으로 생성하려면 어떻게해야합니까?

  27. 27

    View에서 변수를 전역으로 만들려면 어떻게해야합니까?

  28. 28

    이메일 및 비밀번호로 사용자를 생성 할 때 사용자 개체에 속성을 추가하려면 어떻게해야합니까?

  29. 29

    locals ()로 변수를 비활성화하려면 어떻게해야합니까?

뜨겁다태그

보관