先日SwiftUIでアプリを作っていたところ、「Extra argument in call」というエラーが発生しました。
今回はその原因と対応方法について説明していきます。
原因
単刀直入にいうと、原因はViewBuilder
内のbuildBlock
の数が多すぎたからでした。
(10個までらしいですね。)
struct ContentView: View {
var body: some View {
VStack {
Text("1")
Text("2")
Text("3")
Text("4")
Text("5")
Text("6")
Text("7")
Text("8")
Text("9")
Text("10")
Text("11")
Text("12")
Text("13")
Text("14")
Text("15")
}
}
}
こんな感じだとダメらしい。
対応方法
対応方法は、buildBlock
が多くなる場合はGroup
を使用して実装する方法です。
struct ContentView: View {
var body: some View {
VStack {
Group {
Text("1")
Text("2")
Text("3")
Text("4")
Text("5")
Text("6")
Text("7")
Text("8")
Text("9")
Text("10")
}
Group {
Text("11")
Text("12")
Text("13")
Text("14")
Text("15")
}
}
}
}
これだけでエラーは解消されます。
コメント