@ViewBuilder 속성에 대해서 Araboza
@ViewBuilder
Button.init(action: @escaping () -> Void, @ViewBuilder label: () -> Label) // label에는 View가 들어가야 하기 때문에
// 버튼 생성 구조
Button {
// action
}, label: {
// View들이 들어감
Text("")
Image("")
}
VStack
, List
, ScrollView
등의 컨테이너 View들은 모두 @ViewBuilder
특성을 통해 복수의 View들을 선언한다.body
프로퍼티 선언에도 @ViewBuilder
특성이 붙어있다.body
에는 @ViewBuilder
를 붙이지 않아도 된다.