SwiftUI의 VStack에서 Extra argument in cal 오류

7421 단어 iOSSwiftSwiftUItech
VStack에서 한눈에 봐도 괜찮아Extra argument in call실수로 빌딩이 통과할 수 없으니 필기를 해야 한다.

재현 순서


import SwiftUI

struct Item: View {
    var body: some View {
        Rectangle()
            .fill(Color.blue)
            .frame(width: 32, height: 32)
    }
}

struct YourView: View {
    var body: some View {
        VStack() {
            Item()
            Item()
            Item()
            Item()
            Item()
            Item()
            Item()
            Item()
            Item()
            Item()
            Item() // ここでエラー
        }
    }
}

대응 방법


SwiftUI의 VStack에 구성할 수 있는 View의 사양은 최대 10개입니다.Group를 사용하여 이 오류를 제거합니다.
struct YourView: View {
    var body: some View {
        VStack() {
            Group {
                Item()
                Item()
                Item()
            }
            Group {
                Item()
                Item()
                Item()
            }
            Group {
                Item()
                Item()
                Item()
            }
            Group {
                Item()
                Item()
            }
        }
    }
}

참고 자료


이 방법은 ViewBuilder 의 함수 매개 변수에서 최대 10개까지 나온다.
  • ViewBuilder | Apple Developer Documentation
  • swiftui - Are there maximum limits to VStack? - Stack Overflow
  • 좋은 웹페이지 즐겨찾기