@ViewBuilder
작성일
@ViewBuilder란?
같은 뷰를 작성했을때, 추가로 어떤 작업을 해주고 싶을 때가 있다.
그럴때 사용하면 좋은 방법이다.
예를 들어, Text() 를 작성한후, 그 뒤에 뭘 더 해주고싶은데 매번 추가하기 힘드니 그냥 @ViewBuilder로 연결해주면 된다.
struct HeaderViewGeneric<Content: View>: View {
let title: String
let content: Content
init(title: String, @ViewBuilder content: () -> Content) {
self._title = title
self._content = content()
}
var body: some View {
VStack {
Text(title)
.font(.largeTitle)
.fontWeight(.bold)
content
}
}
}
이런식으로 작성해주면 된다.
사용할땐
HeaderViewGeneric(title :"gegeg") {
// 원하는 코드 작성
}
이런 방식으로 사용하면 된다.