[SwiftUI] @ViewBuilder (Attribute)

Jade·2024년 1월 16일
0

TIL

목록 보기
8/10

@ViewBuilder 속성에 대해서 Araboza


@ViewBuilder

  • 클로저 매개변수에서 복수의 View들을 생성할 때 사용하는 특성(Attribute)이다.
  • Button View에서의 예시
    Button.init(action: @escaping () -> Void, @ViewBuilder label: () -> Label) // label에는 View가 들어가야 하기 때문에
    
    // 버튼 생성 구조
    Button {
    		// action
    }, label: {
    		// View들이 들어감
    		Text("")
    		Image("")
    }
  • VStack, List, ScrollView 등의 컨테이너 View들은 모두 @ViewBuilder 특성을 통해 복수의 View들을 선언한다.
  • View 프로토콜의 body 프로퍼티 선언에도 @ViewBuilder 특성이 붙어있다.
    • 때문에 View를 상속 받는 사용자 정의 View의 body에는 @ViewBuilder를 붙이지 않아도 된다.
profile
응애 iOS 개발자

0개의 댓글