Closure에서 View를 구성하는 custom parameter attribute
그럼이제 앞에서 말한 예를들어 HStack View Builder 는 무엇이냐!
다음은 HStack 의 이니셜라이저입니다.
@inlinable public init(alignment: VerticalAlignment = .center,
spacing: CGFloat? = nil,
@ViewBuilder content: () -> Content)
어... body 라는 단어는 뭔가 있나요? 왜 var body
만 가능해요?
body 를 사용하지 않으니 protocol 을 채택하지 못한다고 에러가 나오네요!
body 는 암시적으로 @ViewBuilder 로 선언되어있기 때문에 클로저에서 뷰를 구성할 수 있어요!
import SwiftUI
struct ViewA: View {
var body: some View {
Text("Hello, World!")
}
}
struct ViewA_Previews: PreviewProvider {
static var previews: some View {
ViewA()
}
}
출처:
앞서 언급한 것처럼 body 에는 @ViewBuilder 가 선언되어 있습니다.
개발자 문서를 통해서 좀 더 알아봐요!
Structure